阻止来自其他点击事件的点击事件

时间:2012-12-17 22:18:48

标签: jquery jquery-selectors

我有以下代码:

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

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

我想在单击a.clickMe时阻止doThis。 a.clickMe位于li ...我想查看并查看点击源的来源,以便查看是否点击了.clickMe。

谢谢!

2 个答案:

答案 0 :(得分: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 element"a.clickMe"元素之一,如果是,请调用doThat()(设置this并传递event对象)。否则请致电doThis()

答案 1 :(得分: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.
});