div里面的按钮,不发送div onclick - JavaScript

时间:2013-09-16 17:14:50

标签: javascript html button onclick

我有一个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

1 个答案:

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