点(回复)显示本留言的回复div 点别的区域div隐藏 的问题..
时间:2011-08-25
来源:互联网
就是很多留言每个留言都有回复连接 点击后显示回复对话框 点别的区域消失 ,就和平时网站上的一样,一次只显示一个回复留言框...不知道 怎么下手, 只能点开 不能点击别的区域关闭....
第一步:在js中定义一个变量用来保存鼠标是否在div中这个状态:var isOut=true;(默认不再区域中)
第二步:在div中加上onmouseover和onmouseout事件,用来控制变量isOut:
<div id="codediv" onmouseover="isOut=false" onmouseoout="isOut=true"/>
第三步:在显示div的事件中加入取消事件冒泡的语句:(因为这个事件也会触发document.onmousedown)
event.cancelBubble=true;
第四步:为document添加onmousedown事件:
document.onmousedown=function(){
var codediv=document.getElementById("codediv");
if(codediv.style.display!="none" && isOut){
codediv.style.display!="none";
}
}
这个是找的一个解决办法 可是没反应 能不能解释一下,我把他简化
document.onmousedown=function(){
var codediv=document.getElementById("codediv");
if(codediv.style.display!="none"){
codediv.style.display="none";
}
就是不管点哪里都关闭...<div id="codediv" onmouseover="isOut=false" onmouseoout="isOut=true"/>
div里貌似没有这两个事件...
求解法...
第一步:在js中定义一个变量用来保存鼠标是否在div中这个状态:var isOut=true;(默认不再区域中)
第二步:在div中加上onmouseover和onmouseout事件,用来控制变量isOut:
<div id="codediv" onmouseover="isOut=false" onmouseoout="isOut=true"/>
第三步:在显示div的事件中加入取消事件冒泡的语句:(因为这个事件也会触发document.onmousedown)
event.cancelBubble=true;
第四步:为document添加onmousedown事件:
document.onmousedown=function(){
var codediv=document.getElementById("codediv");
if(codediv.style.display!="none" && isOut){
codediv.style.display!="none";
}
}
这个是找的一个解决办法 可是没反应 能不能解释一下,我把他简化
document.onmousedown=function(){
var codediv=document.getElementById("codediv");
if(codediv.style.display!="none"){
codediv.style.display="none";
}
就是不管点哪里都关闭...<div id="codediv" onmouseover="isOut=false" onmouseoout="isOut=true"/>
div里貌似没有这两个事件...
求解法...
作者: fck001 发布时间: 2011-08-25
楼主的意思是 元素取得焦点是<div id='message'>...</div>显示,也就是 onclick display:block
然后点击其他元素的时候 #message 隐藏 ,可以试试 onblur 事件,支持div标签的http://www.w3school.com.cn/htmldom/event_onblur.asp
然后点击其他元素的时候 #message 隐藏 ,可以试试 onblur 事件,支持div标签的http://www.w3school.com.cn/htmldom/event_onblur.asp
作者: dream1206 发布时间: 2011-08-25
或者用JQuery $("[id!='message']").mousedown
作者: dream1206 发布时间: 2011-08-25
实现思路是:
判断被鼠标按下时的元素 的所有父元素中是否包含了codediv,没有包含则可以知道鼠标是在codediv之外单击的,则隐藏。
还是jquery给力啊,给个jquery实例供参考:
JScript code
判断被鼠标按下时的元素 的所有父元素中是否包含了codediv,没有包含则可以知道鼠标是在codediv之外单击的,则隐藏。
还是jquery给力啊,给个jquery实例供参考:
JScript code
$(document).mouseup(function(event){ if($(event.target).parents("#codediv").length==0){ $("#codediv").hide(); } })
作者: diyle 发布时间: 2011-08-25
哎呀,意思都没弄清就回复了唉
作者: dream1206 发布时间: 2011-08-25
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28