DIV外区域Click后关闭DIV的实现代码
更新时间:2011年12月21日 19:22:15 作者:
首先看下JS的事件模型,JS事件模型为向上冒泡,如onclick事件在某一DOM元素被触发后,事件将跟随节点向上传播,直到有click事件绑定在某一父节点上,如果没有将直至文档的根
阻止冒泡:
1、stopPropagation()对于非IE浏览器。
2、cancelBubble属性为true,对于IE浏览器,
而Jquery已经有兼容浏览器的方法,event.stopImmediatePropagation();
<style>
body
{
background:black;
}
#myDiv
{
background: #fff;
width:250px;
height:250px;
display:none;
}
</style>
<div id="myDiv">
This is a div;
</div>
<input id="btn" type="button" value="显示DIV" />
<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>
1、stopPropagation()对于非IE浏览器。
2、cancelBubble属性为true,对于IE浏览器,
而Jquery已经有兼容浏览器的方法,event.stopImmediatePropagation();
复制代码 代码如下:
<style>
body
{
background:black;
}
#myDiv
{
background: #fff;
width:250px;
height:250px;
display:none;
}
</style>
<div id="myDiv">
This is a div;
</div>
<input id="btn" type="button" value="显示DIV" />
<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>
相关文章
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
下面小编就为大家带来一篇浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-07-07基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
之前写的代码,都是在当前窗口位于居中,可是一旦窗口缩小或者放大都不是位于居中的位置了,但是一直想写的一个类似于alert弹出窗口的效果。2011-09-09
最新评论