0

我有以下代码:

$(function() {
    $(li).click(doThis);

    $(a.clickMe).live('click', doThat);
});

我想在单击 a.clickMe 时阻止 doThis 。a.clickMe 位于 li... 我想查看点击的来源是从哪里来的,所以我可以查看是否点击了 a.clickMe。

谢谢!

4

2 回答 2

1

“我想检查一下点击的来源”

好的,所以也许是这样的:

$(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()

于 2012-12-17T22:31:20.457 回答
0

您可以防止点击事件传播到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.
});
于 2012-12-17T22:21:14.133 回答