我有一个包含div项目的列表。当我点击它时,每个都重定向到一个页面。 现在我在div中添加了一个按钮,当我点击按钮时我不想重定向(即不要在点击事件上执行父div)
<div class='item' onClick="alert('div');">
... div content
<button class='btn' onClick="alert('button');">Action</button>
</div>
上面的代码只应在我点击按钮时提醒一次。
编辑:
我刚才意识到我的实际问题甚至还有一个问题:
<a href='www.google.at'>
<div class='item' onClick="alert('div');">
<button class='btn' onClick="alert('button');event.stopPropagation();">Action</button>
</div>
</a>
单击按钮时,我需要阻止href重定向。是否有类似于event.stopPropagation()的内容?
答案 0 :(得分:4)
原始回答
您可以通过调用event.stopPropagation()
来完成此操作
<div class='item' onClick="alert('div');">
<button class='btn' onClick="alert('button');event.stopPropagation();">Action</button>
</div>
回答编辑
显然你可以通过返回false来停止传播到一个锚元素,不确定这是否正确,但是它有效。
<a href='www.google.at'>
<div class='item' onClick="alert('div');">
<button class='btn' onClick="alert('button');event.stopPropagation();return false;">Action</button>
</div>
</a>