js实现的点击div区域外隐藏div区域
首先看下JS的事件模型,JS事件模型为向上冒泡,如onclick事件在某一DOM元素被触发后,事件将跟随节点向上传播,直到有click事件绑定在某一父节点上,如果没有将直至文档的根。
阻止冒泡:1、stopPropagation()对于非IE浏览器。2、cancelBubble属性为true,对于IE浏览器,
而Jquery已经有兼容浏览器的方法,event.stopImmediatePropagation();
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <script type="text/javascript" src="js/jquery-1.4.4.min.js" ></script> <title></title> </head> <style type="text/css"> body { background-color:#999999; } #myDiv { background-color:#FFFFFF; width:250px; height:250px; display:none; } </style> <body> <input id="btn" type="button" value="显示DIV" /> <div id="myDiv"> This is a div; </div> </body> <script type="text/javascript"> var myDiv = $("#myDiv"); $(function () { $("#btn").click(function (event) { showDiv();//调用显示DIV方法 $(document).one("click", function () {//对document绑定一个影藏Div方法 $(myDiv).hide(); }); event.stopPropagation();//阻止事件向上冒泡 }); $(myDiv).click(function (event) { event.stopPropagation();//阻止事件向上冒泡 }); }); function showDiv() { $(myDiv).fadeIn(); } </script>
相关文章
javascript截取字符串(通过substring实现并支持中英文混合)
用js方法substring()、方法substr()实现如标题所示的截取字符串并支持中英文混合,具体代码如下,感兴趣的各位可以参考下哈2013-06-06JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
这篇文章主要介绍了JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题的解决方案,非常不错,感兴趣的朋友参考下吧2016-11-11理解 JavaScript Scoping & Hoisting(二)
这篇文章主要介绍了理解 JavaScript Scoping & Hoisting,尽管对于有经验的程序员来说这只是小菜一碟,不过我还是顺着初学者常见的思路做一番描述2015-11-11iis6+javascript Add an Extension File
iis6+javascript Add an Extension File...2007-06-06
最新评论