:not()on click事件仍在激发
:not() on click event still firing
我有以下示例结构:
<div class="modHolder">
<div id="wData">...</div>
</div>
我希望单击.modHolder
会发生一些事情,但单击#wData
不会发生任何事情。
这就是我正在尝试的,但#wData
仍然对点击做出反应:
$(document).on('click', '.modHolder:not("#wData"), .modClose', function(e) {
...
}
有什么想法吗?
以下是如何做到这一点,使用它来点击.modHolder
:
$(document).on('click', '.modHolder, .modClose', function(e) {
...
});
然后加上这个:
$(document).on('click', '#wData', function(e) {
e.stopPropagation();
});
这将停止clickEvent弹出DOM树。
点击此处查看:JSFiddle
您的选择器错误。尝试更换
'.modHolder:not("#wData")'
带有
'.modHolder div:not("#wData")'
这是一把小提琴:
http://jsfiddle.net/muywo9qp/
它应该是:
$(document).on('click', '.modHolder', function(e) { ... });
$(document).on('click', '#wData', function(e) {
e.stopImmediatePropagation();
});
$(document).on('click', '.modHolder', function(e) {
alert('Here');
});
$(document).on('click', '#wData', function(e) {
e.stopImmediatePropagation();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="modHolder">
<div id="wData">.....</div>
<div class="modClose">X</div>
</div>
相关文章:
- Fancybox是否将Click事件静音
- AngularJs的ng-click$事件将子元素作为目标传递
- jsplumb中的Click事件处理程序丢失“;这个“;对象
- jquery on click事件来显示内容
- 使用谷歌图表将mousedown事件注册为click
- jQuery.on-click事件不会发生
- AngularJS$apply有时不会;当在highchart中使用click事件时,t触发更新{{}}中html标记中
- 追加Jquery后的Binding Click事件不起作用
- 将click事件绑定到AngularJS指令中的子元素
- 现代网络爬虫是使用 click 事件还是直接导航到锚标记上的 href
- asp.net javascript .click() 事件未在服务器上触发
- JavaScript on Click 事件在 img 标签上无法正常工作
- 将参数传递给 jQuery .click WHILE 保留事件参数
- 在 Google Plus Button 上跟踪 click() 事件
- AngularJS:指令限制:“E”阻止在Jasmine单元测试中调用元素click()事件
- 如何覆盖jQuery所选元素的“click”事件
- 带有元素移除的Javascript remove-click事件
- 如何在不接触某些元素的情况下附加document.click事件
- Wicket Ajax错误日志:Error:无法绑定事件"click"监听器;元素"Aja
- JavaScript/jQuery -重用事件'Click'元素的