返回介绍

event.stopImmediatePropagation()

发布于 2017-09-11 14:06:20 字数 1736 浏览 1182 评论 0 收藏 0

所属分类:事件 > 事件对象

event.stopImmediatePropagation()返回:

描述: 阻止剩余的事件处理函数执行并且防止事件冒泡到DOM树上。

  • 添加的版本: 1.3event.stopImmediatePropagation()

    • 这个方法不接受任何参数。

除了阻止元素上其它的事件处理函数的执行,这个方法还会通过在内部调用 event.stopPropagation() 来停止事件冒泡。如果仅仅想要停止事件冒泡到祖辈元素上,而让这个元素上的其它事件处理函数继续执行,我们可以使用 event.stopPropagation() 来代替。

使用 event.isImmediatePropagationStopped() 来确定这个方法是否(在那个事件对象上)调用过了。

Additional Notes:(其他注意事项:)

    自从.live()方法处理事件一旦传播到文档的顶部,live事件是不可能停止传播的。同样地,.delegate() 事件将始终传播给其中包含的被委托元素; 元素上的事件将在被委托事件被调用的时候执行。因此,这些处理程序,可以调用event.stopPropagation()或者返回false防止委派处理程序冒泡。

例子:

阻止调用其它事件处理函数。

<!DOCTYPE html>
<html>
<head>
  <style>
p { height: 30px; width: 150px; background-color: #ccf; }
div {height: 30px; width: 150px; background-color: #cfc; }
</style>
  <script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
  <p>paragraph</p>
<div>division</div>
<script>
$("p").click(function(event){
  event.stopImmediatePropagation();
});
$("p").click(function(event){
  // This function won't be executed
  $(this).css("background-color", "#f00");
});
$("div").click(function(event) {
  // This function will be executed
    $(this).css("background-color", "#f00");
});</script>
 
</body>
</html>

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文