event.target不返回已单击的确切元素

时间:2012-03-12 09:36:37

标签: jquery jquery-mobile

我正在尝试使用event.target来查找已单击的确切元素。我正在使用jQuery Mobile,链接在navbars中。

当页面最初加载时,event.target完成它的工作并返回正确的'a'元素(那里有一个编程点击导致它)。但是,当您单击链接时,event.target将返回“span”元素,而不是单击的“a”元素。

如果单击链接文本部分的周围区域,则event.target将返回正确的“span”元素。

我需要event.target返回已被点击的确切'a'元素,无论您是否直接点击链接,只要用户点击链接的给定区域(包括'span') '地区)。

您可以在行动here

中看到它

如果我需要提供更多信息,请与我们联系。谢谢!

2 个答案:

答案 0 :(得分:10)

您可以尝试使用event.currentTarget代替event.target

答案 1 :(得分:8)

使用此:

   var target=(event.target.tagName=='A')
                ? event.target
                : $(event.target).closest('a')[0]

当您点击链接的子项

时,它将返回ascendent A元素

或只是: this