事件委托中的目标元素的mouseover事件冒泡到委托元素,怎么取消呢?

发布于 2022-09-06 00:41:00 字数 396 浏览 16 评论 0

1.动态生成的元素$(".bizPart"),目的是在mouseover元素$(".bizPart")的时候,另一个元素$("#servTip")移动。
2.代码:

$("body").on('mouseover', $(".bizPart"), function (e) {
    $("#servTip").css({ "left": x, "top": y, "opacity": 1 });
    e.stopPropagation();  //没起作用
}

3.问题:现在是不仅在$(".bizPart")上移动鼠标$("#servTip")会动,而且在body上移动鼠标$("#servTip")也会动,我觉得是冒泡上去了,但是取消又没有用,怎么才能取消移上body,不触这个事件呢?谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

奈何桥上唱咆哮 2022-09-13 00:41:00

建议在.bizPart元素外面在包一层.wrap,你这样是直接绑定在body上的事件,只能阻止冒泡到body以上的元素。

$(".wrap").on('mouseover', $(".bizPart"), function (e) {
    e.stopPropagation();
    $("#servTip").css({ "left": x, "top": y, "opacity": 1 });
}

望采纳

不疑不惑不回忆 2022-09-13 00:41:00

通过if判断e.currentTarget的元素是否是.bizPart,是的话再执行函数体

眼眸 2022-09-13 00:41:00

$("body").on('mouseover', ".bizPart", function (e) {
   $("#servTip").css({ "left": x, "top": y, "opacity": 1 });
}
好像这样就可以了呢,谢谢各位
图片描述

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文