我有一个div,而且div有一个onclick事件。在div的内部,有一些文本和一个按钮。当我点击文本时,会发送div onclick,这很好。但是,当我点击div内的按钮时,会发送按钮和的onclick。我知道这意味着要发生,但我需要它不会发生。有什么办法,没有使用jQuery,当按下按钮时不发送div onclick?
Here is a jsFiddle of my current program
<div onclick="divClick()">
This is the div
<button name="test" onclick="buttonClick()">Click Me</button>
</div>
我真的不想使用jQuery,只是纯JavaScript
答案 0 :(得分:7)
使用 stopPropagation 事件功能。这样就不会调用divClick
函数。
function buttonClick(e) {
if (!e) e = window.event;
e.stopPropagation();
// do what you want
}
由于Firefox,您需要明确发送event
作为参数,如下所示:
<button name="test" onclick="buttonClick(event)">Click Me</button>
<强> Demo 强>