jQuery:处理后台/容器点击

时间:2010-04-28 00:06:55

标签: jquery

我有一个大div,而div里面有一个小按钮。

点击div后,我希望它能够做点什么 单击该按钮时,我希望它能够执行其他操作。

$('#myDiv').click(OnDivClicked);
$('#myButton').click(OnButtonClicked);

目前,当点击该按钮时,会触发OnDivClicked和OnButtonClicked。

如何在单击按钮时阻止OnDivClicked被触发?

提前致谢。

1 个答案:

答案 0 :(得分:5)

您需要使用event.stopPropagation()阻止点击冒泡,如下所示:

$('#myButton').click(function(e) {
  OnButtonClicked();
  e.stopPropagation();
});

默认情况下,很多事件会一直冒泡到他们的父母一直到DOM根目录,导致他们的事件处理程序触发相同的事件类型......要停止这一点,你只需要像上面的代码那样停止冒泡行为。如果您不需要执行默认操作,return false;也将完成此操作。

e.StopPopagation()return false;之间的差异更重要的是说锚点,停止气泡只会触发父级click处理程序但< strong>会关注该链接,而return false