当我按下页面上的 div 时,会出现一个弹出窗口。当您再次单击该 div 时,弹出窗口就会消失。当您单击 div 外部时,弹出窗口就会消失 - 到目前为止一切看起来都很好。
问题是,当我单击弹出窗口时,我希望弹出窗口及其子窗口可以单击(它们是无序列表内的链接),但我似乎无法使其工作。这是我的代码:
$(function () {
$('#messageNotification').click(function (event) {
$("body").one('click', function () {
jQuery(".userInfo").fadeOut();
});
event.stopPropagation();
});
<body>
<div id="messageNotification"><div class="notif same">0</div></div>
<div id="messages">
<ul class="userInfo" style="">
<li></li>
</ul>
</div>
</body>
如果我理解正确,您可以按选择器进行过滤。例如:
$('body').on('click', 'a', function(){ ... });
这将绑定click
事件到与选择器匹配的所有元素a
.
如果要将点击绑定到所有元素not匹配您的弹出窗口,您可以执行以下操作:
$('body').on('click', ':not(#popup)', function(){ // code to dismiss popup here });
请参阅 jquery 文档:not() http://jqapi.com/#p=not-selector and .on() http://jqapi.com/#p=on欲了解更多信息...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)