Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как поймать событие onclick() не обычным способом? (https://javascript.ru/forum/events/46912-kak-pojjmat-sobytie-onclick-ne-obychnym-sposobom.html)

mrmammoth 29.04.2014 11:29

Как поймать событие onclick() не обычным способом?
 
Здравствуйте

Вопрос у меня следующий:

предположим есть код:
<div>
<ul>

... здесь может быть что угодно

<a href="http://www.domain.com">Click Here</a>

</ul>
</div>

Как поймать событие onclick при клике на ссылку, если между тегами <ul></ul> нельзя менять код?

jsnb 29.04.2014 11:44

Так нельзя менять только HTML? Ну так в JS делайте выборку селектором по дочерним ссылкам элемента ul и вешайте на них какие угодно обработчики. Ну или вешать обработчик на сам ul и смотреть откуда пришел клик по target. Только что в этом необычного...

mrmammoth 29.04.2014 12:41

Спасибо, вроде получается

рони 29.04.2014 12:49

mrmammoth,
http://learn.javascript.ru/default-b...раузера

mrmammoth 29.04.2014 13:56

Событие поймал, но как определить, что клик был именно по ссылке?
привязаться, кроме как к <a href=>...</a> не к чему. Анализировать innerHTML - так там, между <ul></ul> может быть и 100кб кода. Пробовал через childNodes - но последний элемент к примеру object Text, и как понять что он не просто текст а ссылка?

jsnb 29.04.2014 14:40

Цитата:

Сообщение от mrmammoth (Сообщение 309772)
Событие поймал, но как определить, что клик был именно по ссылке?
привязаться, кроме как к <a href=>...</a> не к чему. Анализировать innerHTML - так там, между <ul></ul> может быть и 100кб кода. Пробовал через childNodes - но последний элемент к примеру object Text, и как понять что он не просто текст а ссылка?

Ну смотри у target.tagName, если 'A' то ссылка. А вообще вот: http://learn.javascript.ru/event-delegation

mrmammoth 29.04.2014 14:50

О! Спасибо, теперь точно всё в порядке


Часовой пояс GMT +3, время: 12:47.