效果类似这样 :
点击一个按钮,弹出一个p,在点击页面其他的位置时,关闭这个p。。。
目前是通过给document一个点击事件,然后关闭这个p。。(ps: 按钮已经阻止事件冒泡。所以不会触发document的事件)
但是我有点疑惑这种做法是否正确?
类似这样的效果还有其他的方式实现吗 ?
代码
javascript:
$("#a").click(function(event){
$("#b").show();
event.stop..... (阻止事件冒泡)
});
$(document).click(function(){
$("#b").hide()
});
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
大概是这个意思吧:
大概思路就是直接挂document的click事件,抓到以后对比下看是不是那个要点击的p就好了。
“正不正确”其实不是很重要;把功能做出来,能用没bug,那就是正确的。
类似于弹窗的那种效果 也就是 点击按钮 显示这个p 点击其他位置 隐藏这个p 没有问题
你写的没错
你要的是这样的吗:
http://jsfiddle.net/Nczpb/
$(’body‘).click(function(){
$("#b").hide()
});
你在document上添加了一个点击监听事件,那用户点击a标签也会触发这个事件,导致结果就是这个p永远无法显示,你应该监听body点击事件来隐藏
你的实现方法是正常的思路和解决方法。
不过一般的需求不是还会要求点击该p不会隐藏该p吗?这样的话,那么你还就要再在p上写点击阻止冒泡的js哦。
一般弹出p最好给后面的页面加遮罩层 给遮罩层绑事件就行了