jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 单击除链接之外的div的Fire事件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在点击div时触发一个事件,但如果我点击该div上的特定链接,我不希望触发该事件:

我的JS

$("#myDiv").not("#myLink").click(function () {
    alert("clicked");
});

//Or

$("#myDiv:not(#myLink)".click(function () {
    alert("clicked");
});

$("body").on('click','#myLink',function(E) {
    e.stopPropagation();
});

我的HTML

<div id="myDiv">
    <a href="#" id="myLink">Some link</a>
</div>

这是jsfiddle

编辑:其实我的真实代码是“开”方法,我已经尝试过stopPropagation但是在那种情况下不起作用

解决方法

为了获得所需的结果,您必须在anchor元素上注册一个事件处理程序,在执行时会阻止事件传播.

$("#myLink").click(function(E) {
    e.stopPropagation();
});

为什么这个工作

事件传播从根元素开始直到目标元素(捕获阶段)和到达目标后,
他们爬回到根元素(冒泡阶段).
目标元素是接收事件的元素.

在冒泡阶段,可以在捕获阶段注册事件监听器.
在这里,我们使用jQuery在冒泡阶段注册事件.

stopPropagation允许阻止通过DOM传播事件.

这是我写的一篇文章,以防你需要更多关于@L_674_12@的信息.

大佬总结

以上是大佬教程为你收集整理的jquery – 单击除链接之外的div的Fire事件全部内容,希望文章能够帮你解决jquery – 单击除链接之外的div的Fire事件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。