js单击嵌套元素的事件

时间:2016-01-26 00:53:46

标签: javascript

我有一个包含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()的内容?

1 个答案:

答案 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>