我在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/