jQuery:处理背景/容器点击
问题描述:
我有一个大的div,和div中的一个小按钮。jQuery:处理背景/容器点击
当div被点击时,我希望它做一些事情。
当按钮被点击时,我希望它做别的事情。
$('#myDiv').click(OnDivClicked);
$('#myButton').click(OnButtonClicked);
当前单击按钮时,会触发OnDivClicked和OnButtonClicked。
如何防止点击按钮时OnDivClicked被触发?
在此先感谢。
答
您需要防止点击冒泡使用event.stopPropagation()
,像这样:
$('#myButton').click(function(e) {
OnButtonClicked();
e.stopPropagation();
});
默认情况下,许多事件冒泡他们的父母一路DOM根,引起他们的事件处理程序为同一事件键入火...以停止这一点,你只需要停止像上面的代码冒泡行为。如果您不需要执行默认操作,则return false;
也会完成此操作。
e.StopPopagation()
和return false;
之间的差别是在说,一个锚更重要的,停止泡沫只会不火父母的click
处理程序,但会按照链接,而return false
会做既不。
完美!谢谢尼克! – Aximili 2010-04-28 00:24:32