jQuery event.stopPropagation() 方法
实例
阻止单击事件冒泡到父元素:
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("span").click(function(event){event.stopPropagation();alert("span 元素被点击");});$("p").click(function(event){alert("p 元素被点击");});$("div").click(function(){alert("div 元素被点击");});});</script></head><body><div style="height:100px;width:500px;padding:10px;border:1px solid blue;background-color:lightblue;">这是一个 div 元素<p style="background-color:pink">这是一个 p 元素,在 div 元素中。<br><span style="background-color:orange">这是 p 和 div 元素中的一个 span 元素。</span></p></div><p><b>注意:</b> 单击上面的每个元素。单击 <b>div</b> 元素时,它会发出警告,表示该div元素已被单击。当点击<b>p</b>元素时,它将返回 p 和 div 元素,因为 p 元素位于 div 元素内部。但是当点击 <b>span</b> 元素时,它只会返回自身,而不会返回 p 和 div 元素(即使它在这些元素中)。event.stopPropagation() 停止 click 事件冒泡到父元素。</p><p><b>提示:</b> 尝试删除 event.stopPropagation() 行,然后再次单击 span 元素(单击事件现在将冒泡到父元素)。</p></body></html>
定义与用法
event.stopPropagation() 方法停止向父元素冒泡事件,防止执行任何父事件处理程序。
提示: 使用 event.isPropagationStopped() 方法检查是否为事件调用了此方法。
语法
event.stopPropagation()
| 参数 | 描述 |
|---|---|
| event | 必填。event 参数来自事件绑定函数 |