我正在尝试使用event.target来查找已单击的确切元素。我正在使用jQuery Mobile,链接在navbars中。
当页面最初加载时,event.target完成它的工作并返回正确的'a'元素(那里有一个编程点击导致它)。但是,当您单击链接时,event.target将返回“span”元素,而不是单击的“a”元素。
如果单击链接文本部分的周围区域,则event.target将返回正确的“span”元素。
我需要event.target返回已被点击的确切'a'元素,无论您是否直接点击链接,只要用户点击链接的给定区域(包括'span') '地区)。
您可以在行动here
中看到它如果我需要提供更多信息,请与我们联系。谢谢!
答案 0 :(得分:10)
您可以尝试使用event.currentTarget
代替event.target
答案 1 :(得分:8)
使用此:
var target=(event.target.tagName=='A')
? event.target
: $(event.target).closest('a')[0]
当您点击链接的子项
时,它将返回ascendent A元素或只是: this