jQuery event.stopPropagation() 方法

实例

阻止单击事件冒泡到父元素:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  5. <script>
  6. $(document).ready(function(){
  7. $("span").click(function(event){
  8. event.stopPropagation();
  9. alert("span 元素被点击");
  10. });
  11. $("p").click(function(event){
  12. alert("p 元素被点击");
  13. });
  14. $("div").click(function(){
  15. alert("div 元素被点击");
  16. });
  17. });
  18. </script>
  19. </head>
  20. <body>
  21. <div style="height:100px;width:500px;padding:10px;border:1px solid blue;background-color:lightblue;">
  22. 这是一个 div 元素
  23. <p style="background-color:pink">这是一个 p 元素,在 div 元素中。<br><span style="background-color:orange">这是 p 和 div 元素中的一个 span 元素。</span></p></div>
  24. <p><b>注意:</b> 单击上面的每个元素。单击 <b>div</b> 元素时,它会发出警告,表示该div元素已被单击。当点击<b>p</b>元素时,它将返回 p 和 div 元素,因为 p 元素位于 div 元素内部。
  25. 但是当点击 <b>span</b> 元素时,它只会返回自身,而不会返回 p 和 div 元素(即使它在这些元素中)。event.stopPropagation() 停止 click 事件冒泡到父元素。
  26. </p>
  27. <p><b>提示:</b> 尝试删除 event.stopPropagation() 行,然后再次单击 span 元素(单击事件现在将冒泡到父元素)。</p>
  28. </body>
  29. </html>

定义与用法

event.stopPropagation() 方法停止向父元素冒泡事件,防止执行任何父事件处理程序。

提示: 使用 event.isPropagationStopped() 方法检查是否为事件调用了此方法。


语法

  1. event.stopPropagation()
参数描述
event必填。event 参数来自事件绑定函数

分类导航