在嵌套 DOM 对象中维护事件进程
在事件处理程序在多个级别上定义的嵌套 DOM 结构中,通常希望防止当子事件被触发时父事件处理程序的执行。考虑以下示例:
<div> <pre class="brush:php;toolbar:false"><div>
在此结构中,单击在任何 div 元素上都会调用“func”函数。然而,有一个问题:点击“b”或“c”会触发被点击的div及其父div“a”的“func”函数。
解决方案:事件传播控制
jQuery 提供了一种防止事件在 DOM 树上传播的方法。通过在定义事件处理程序之前添加以下代码:
$('#a').add('#b').click(function(event) { event.stopPropagation(); });
您可以防止单击“b”或“c”将事件传播到其父级“a”。这确保了只有被点击的子 div 的函数才会被执行。
通过控制事件传播,您可以在嵌套 DOM 结构中维护所需的事件流并防止无意的函数执行。
以上是当嵌套 DOM 对象中触发子事件时,如何阻止父事件处理程序执行?的详细内容。更多信息请关注PHP中文网其他相关文章!