如何使用javascript阻止函数

时间:2013-09-11 22:41:58

标签: javascript function

我有两个要素:

<div class="a" onclick="a();">a
    <div class="b" onclick="b();">b</div>
</div>

当我点击一个警报即将到来时,但当我点击b时,我只想查看警报b。

我认为这个例子更好地解释了我。

http://jsbin.com/Aruciyi/1/edit?html,css,js,output

如示例所示,如何通过单击红色块来获取警报b ...

2 个答案:

答案 0 :(得分:2)

使用event.stopPropagation,如下所示:

function b(event){
    event = event || window.event;
    event.stopPropagation();
    alert('b');
}

这会捕获内部div中的click事件,并防止它冒泡到外部div。

另外:更改你的onclick属性:

<div class="b" onclick="b(event);">b</div>

所以你明确地将event对象传递给b函数。

答案 1 :(得分:0)

提供的答案有效,但我更喜欢创建一个通用点击功能。我将您的类更改为ID,以便更容易获取它们。这是代码:

<div id="a" onclick="clickEvent(event, this);">a
  <div id="b" onclick="clickEvent(event, this);">b</div>
</div>

JavaScript的:

function clickEvent(e, o) {
  alert(o.id);
  event = e || window.event;
  event.stopPropagation();
}

这是demo