event.target не возвращает точный элемент, который был нажат - PullRequest
4 голосов
/ 12 марта 2012

Я пытаюсь использовать event.target, чтобы найти точный элемент, на который нажали. Я работаю с jQuery Mobile, и ссылки находятся в навигационных панелях.

Когда страница первоначально загружается, event.target выполняет свою работу и возвращает правильный элемент 'a' (там есть программный щелчок, вызывающий это). Однако, когда вы нажимаете на ссылку, event.target возвращает элемент span, а не элемент a, по которому щелкнули.

Если вы щелкнете по окружающей области текстовой части ссылки, event.target вернет правильный элемент span.

Мне нужен файл event.target, чтобы возвращать точный элемент «a», по которому щелкнули, независимо от того, нажимаете ли вы непосредственно на ссылку или нет, до тех пор, пока пользователь нажимает на заданную область ссылки (включая «span»). 'областей).

Вы можете увидеть это в действии здесь

Дайте мне знать, если мне нужно предоставить больше информации. Спасибо!

Ответы [ 2 ]

11 голосов
/ 05 марта 2013

Вы можете попробовать event.currentTarget вместо event.target

8 голосов
/ 12 марта 2012

Используйте это:

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

вернет восходящий A-элемент, когда вы нажмете на дочернюю ссылку

или просто: this

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...