Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   addEventListener вопрос (https://javascript.ru/forum/events/35269-addeventlistener-vopros.html)

Zim_one 05.02.2013 19:02

addEventListener вопрос
 
function qwe(){
	document.links[0].href="asdafd";
}
document.links[0]=addEventListener("click", qwe, false);

Здравствуйте, почему функция работает когда кликнуть в любой точке страницы, а не на ссылку links[0]?
Заранее спасибо!

Deff 05.02.2013 19:12

Цитата:

Сообщение от Zim_one
Здравствуйте, почему функция работает когда кликнуть в любой точке страницы, а не на ссылку links[0]?
Заранее спасибо!

Не определен объект links

<a href="">Ccылка</a>
<script>
alert(document.links[0])
</script>


<a>Ccылка</a>
<script>
var links =document.getElementsByTagName('a')
alert(links[0].innerHTML)
</script>

Amphiluke 05.02.2013 19:12

addEventListener — это метод, который должен вызываться в контексте элемента, к которому должен быть привязан обработчик. Сейчас вы зарегистрировали обработчик кликов на window.
addEventListener ничего не возвращает, поэтому бессмысленно присваивать чему-либо результат его вызова.
Вообще непонятно, чего вы хотите добиться этим кодом.

vadim5june 05.02.2013 19:36

<script>function qwe(){
document.links[0].href="http://newsru.com";
};
window.onload=function(){document.links[0].addEventListener("click", qwe, false);}
</script>
<a href='tratata'>tratata</a>

Deff 05.02.2013 19:45

Гы - оказуецо объект .links создается только для тегов с наличием href
Значит мой пост не оч. корректен

Zim_one 05.02.2013 19:54

всем спасибо.


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