如果有 2 个元素可点击,如何强制浏览器仅处理顶部链接?
假设我有以下代码:
<div onclick='location.href="http://www.example.com/"'>
<a href='#' onclick='alert("blah")'>click</a>
</div>
有没有办法只在单击“click”文本时评估锚点,而不评估 div 的 onclick?
Say I have the following code:
<div onclick='location.href="http://www.example.com/"'>
<a href='#' onclick='alert("blah")'>click</a>
</div>
Is there a way to only have the anchor evaluated when I click the 'click' text and not have the div's onclick evaluated?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过从锚点的单击事件处理程序返回
false
来停止事件传播。您已经用 jQuery 标记了这个问题。在这种情况下,您应该使用不显眼的 Javascript,因此:
with:
是一个更干净的解决方案。
You can stop event propagation by returning
false
from the anchor's click event handler.You've tagged this question with jQuery. In that case, you should be using unobtrusive Javascript so:
with:
is a much cleaner solution.
请参阅http://www.quirksmode.org/js/events_order.html。
event.cancelBubble
用于IEevent.stopPropagation()
是W3CSee http://www.quirksmode.org/js/events_order.html.
event.cancelBubble
is for IEevent.stopPropagation()
is W3C