jQuery bind()-如果LI点击事件触发,则阻止HTML点击事件触发
jQuery bind() - Prevent HTML click event from firing if LI click event fires
在我的js中,我有两个点击绑定:
$('#menu > li').bind('click', function () {...});
和
$('html').bind('click', function () {...});
根据点击的内容,它们各自做的事情略有不同。问题是,点击LI也是点击HTML,所以当我点击LI时,LI点击和HTML点击事件都会触发。
如果我点击LI以外的任何地方,我只会得到HTML点击,根据需要。
有没有办法说,基本上,"如果用户点击了一个LI元素,就这样做。否则,如果用户点击的是除LI之外的任何其他地方,就这么做"?
您所需要做的就是防止事件冒泡。使用jQuery,只需在li
事件处理程序中添加e.stopPropagation()
即可。
所以你更新的代码会是这样的:
$('#menu > li').bind('click', function (e) {
e.stopPropagation();
...
});
进一步阅读:
https://api.jquery.com/event.stoppropagation/
http://www.quirksmode.org/js/events_order.html
相关文章:
- 如何使Javascript动态html表及其上的事件
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何在HTML列表中添加事件's子弹
- Html按钮点击事件未触发单选按钮
- 如何在tinymce编辑器中将点击事件绑定到html标签
- RouteChangeStart事件在初始index.html页面加载时触发
- 侦听HTML呈现过程事件
- 枚举附加到文档的HTML对象的所有事件
- 当select标记触发onChange事件时,从mysql数据库加载html表
- 我需要java代码来打开html代码onclick事件
- 重叠对象上的HTML画布事件
- 如何将事件绑定到从AJAX请求注入的HTML
- AngularJS$apply有时不会;当在highchart中使用click事件时,t触发更新{{}}中html标记中
- HTML输入框未触发事件
- Google图表HTML工具提示,其中包含javascript onclick事件
- javascript在附加的html中点击事件订阅
- 如何在没有POST/GET/FORM的情况下在onclick事件HTML中设置PHP会话
- 从按钮触发onchange事件html输入文件
- 处理多个滑动事件HTML &Javascript / jQuery
- 可以在Javascript的onclick事件(HTML)中使用正则表达式