我有一个大div,div里面有一个小按钮.
单击div时,我希望它能够执行某些操作.
单击按钮时,我希望它执行其他操作.
$('#myDiv').click(OnDivClicked);
$('#myButton').click(OnButtonClicked);
Run Code Online (Sandbox Code Playgroud)
目前,当单击该按钮时,将触发OnDivClicked和OnButtonClicked.
如何在单击按钮时阻止OnDivClicked被触发?
提前致谢.
你需要防止点击冒泡event.stopPropagation(),如下所示:
$('#myButton').click(function(e) {
OnButtonClicked();
e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)
默认情况下,许多事件会一直冒泡到他们的父母一直到DOM根目录,导致他们的事件处理程序触发相同的事件类型...为了阻止这种情况你只需要像上面的代码那样停止冒泡行为.如果您不需要执行默认操作,return false;也将完成此操作.
之间的差异e.StopPopagation()和return false;会中说锚更重要的,停止泡沫只会不火家长的click处理程序,但会按照链接,而return false会做既不.
| 归档时间: |
|
| 查看次数: |
789 次 |
| 最近记录: |