事件冒泡以匹配原始选择器



我在jQuery中遇到了一个反复出现的事件冒泡问题,我正在寻找一个超级简单的解决方案。

假设我有这个链接:

<a href="http://www.google.com" class="link"><span>Link Text</span></a>

我将点击事件与jQuery绑定为:

$('.menu a.item').bind('click', function(e){
    e.stopPropagation();
    e.preventDefault();
    var obj = $(e.target);
    // do something with obj
});

我在上面和类似的绑定中一直面临的问题是,如果元素的内部HTML有其他标记,这些事件就会成为目标。

当然,这一切都很好,但我想知道是否有一种快速简单的方法来parent(),直到parent(()obj等于选择器"a.item",这样我就可以获取href值并对其进行处理。

在上面的情况下,简单的$(e.target).parent().attr('href')会起作用,但在我的情况下有时有3或4个级别的子元素。

有人有什么想法吗?

只需使用this而不是e.target

http://jsfiddle.net/faX4j/

最新更新