我有以下代码:
$(function() {
$(li).click(doThis);
$(a.clickMe).live('click', doThat);
});
我想在单击 a.clickMe 时阻止 doThis 。a.clickMe 位于 li... 我想查看点击的来源是从哪里来的,所以我可以查看是否点击了 a.clickMe。
谢谢!
我有以下代码:
$(function() {
$(li).click(doThis);
$(a.clickMe).live('click', doThat);
});
我想在单击 a.clickMe 时阻止 doThis 。a.clickMe 位于 li... 我想查看点击的来源是从哪里来的,所以我可以查看是否点击了 a.clickMe。
谢谢!
“我想检查一下点击的来源”
好的,所以也许是这样的:
$(function() {
$("li").click(function(e) {
if ($(e.target).is("a.clickMe"))
return doThat.call(this, e);
else
return doThis.call(this, e);
});
});
也就是说,在 li 元素的单击处理程序中测试该event.target
元素是否是元素之一,"a.clickMe"
如果是则调用doThat()
(设置this
和传递event
对象)。否则调用doThis()
。
您可以防止点击事件传播到li
:
$(a.clickMe).live('click', function(e) {
e.stopPropagation();
// Now, the event won't bubble up to the `li` and won't trigger its event handler.
});