jquery 阻止冒泡事件
例如:点击a让b显示出来同时点击空白处b隐藏,但也要保证点击b的内容的时候b不会隐藏,如何做啊...
例如: 点击a 让b显示出来 同时点击空白处 b 隐藏,但也要保证点击b的内容的时候b不会隐藏,如何做啊
展开
4个回答
展开全部
/*
判断 a , b 两元素是否有包含关系
a 要查询的对像
b 当前点击的对像
*/
function contains(a, b) {
if(a.compareDocumentPosition) {
return a === b || !! (a.compareDocumentPosition(b) & 16);
};
if(a.contains && b.nodeType === 1) {
return a.contains(b) && a !== b;
};
while((b = b.parentNode)) {
if(b === a) return true;
return false;
};
};
用这个判断下
判断 a , b 两元素是否有包含关系
a 要查询的对像
b 当前点击的对像
*/
function contains(a, b) {
if(a.compareDocumentPosition) {
return a === b || !! (a.compareDocumentPosition(b) & 16);
};
if(a.contains && b.nodeType === 1) {
return a.contains(b) && a !== b;
};
while((b = b.parentNode)) {
if(b === a) return true;
return false;
};
};
用这个判断下
展开全部
可以参考jquery的帮助文档,文档有有关于stopPropagation()方法的说明:
防止事件冒泡到DOM树上,也就是不触发的任何前辈元素上的事件处理函数。
$("#a").click(function(event){
event.stopPropagation();
//其他代码
});
防止事件冒泡到DOM树上,也就是不触发的任何前辈元素上的事件处理函数。
$("#a").click(function(event){
event.stopPropagation();
//其他代码
});
追问
$("#a").mouseover(function(event){
event.stopPropagation();
$("#b").show();
})
$("body").click(function(){
$("#b").hide();
})
这样写不对吗,为什么还是会产生冒泡事件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
event.stopPropagation()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
stop....g
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询