防止子锚点单击事件触发父级单击事件
如代码所示,当在父 div 中单击子锚点元素时对于 onclick 事件,这两个事件都会触发。要解决此问题并阻止父级单击事件执行,您有两个选择:
选项 1:检查事件来源
通过检查 jQuery 传递的 eventargs 对象,您可以确定发起点击的元素:
$("#clickable").click(function(e) { if($(e.target).is("div")) { window.location = url; return true; } });
如果发送者元素不是 div 本身,则 div 的onclick 处理程序不会被触发。
选项 2:停止事件冒泡
或者,您可以使用 stopPropagation( ) 子锚点上的方法:
$("#clickable a").click(function(e) { // Custom anchor handler e.stopPropagation(); });
此方法可防止事件传播到父级div,确保仅触发锚点单击事件。
以上是如何防止子锚点击触发父点击事件?的详细内容。更多信息请关注PHP中文网其他相关文章!