event.stopPropagation()


event.stopPropagation()返回值: undefined

描述: 阻止事件在 DOM 树中冒泡,防止任何父级处理程序收到事件通知。

我们可以使用 event.isPropagationStopped() 来确定此方法是否曾经被调用(在该事件对象上)。

此方法适用于使用 trigger() 触发的自定义事件。

请注意,这不会阻止 同一元素上的 其他处理程序运行。

其他说明

  • 由于 .live() 方法在事件传播到文档顶部后处理事件,因此无法阻止实时事件的传播。类似地,由 .delegate() 处理的事件将传播到它们被委托到的元素;在 DOM 树中位于其下方的任何元素上绑定的事件处理程序将在调用委托事件处理程序时已经执行。因此,这些处理程序可能会通过调用 event.stopPropagation() 或返回 false 来阻止委托处理程序触发。

示例

在点击事件中阻止冒泡。

1
2
3
4
$( "p" ).on( "click", function( event ) {
event.stopPropagation();
// Do something
});