<ul>
<li><a href="#" >Link</a>
<ul>
<li><a href="#" >Link</a></li>
<li><a href="#" >Link</a></li>
</ul>
</li>
</ul>
$(function(){
$('ul').click(function(event){
alert(event.target);
return false;
});
});
当有人点击锚点时,有人会打我的头并告诉我为什么 event.target
给我一个url
?我期待它给我[object HTMLAElement]
。就像点击[object HTMLLIElement]
元素时li
一样。 sample fiddle
我已阅读此link, jquery-anchor-click-this-e-target-returns-url,但似乎没有回答我的问题。
答案 0 :(得分:4)
一切都好!它只是任何链接的表示。您仍然可以使用event.target.href
甚至event.target.id
等等。
某些元素(如HTMLAnchorElement)具有特殊的toString函数,可以防止您轻松找到其类名。如果在位置栏中键入javascript:alert(document.links [0]),您将看到第一个链接的URL而不是其类名。解决这个问题的方法是在对象document.links [0]上使用默认的toString函数,如下所示:javascript:alert(window.toString.apply(document.links [0]))。
来自here。
答案 1 :(得分:1)
对于遇到此问题的其他人,请尝试使用:
var element = event.target ? event.target : event.srcElement;