Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с обработчиком событий (https://javascript.ru/forum/misc/24084-problema-s-obrabotchikom-sobytijj.html)

(Sandr) 17.12.2011 13:43

Проблема с обработчиком событий
 
Подскажите, что не так в этом коде?
Код:

<html>
 <head>
  <script>
    var myId = document.getElementById('x');
    myId.addEventListener("click", function(e) { alert(e); }, false);
  </script>
 </head>
 <body>
  <div id="x">Текст</div>
 </body>
</html>


Livanderiaamarum 17.12.2011 13:59

Цитата:

Сообщение от (Sandr) (Сообщение 143846)
Подскажите, что не так в этом коде?
Код:

<html>
 <head>
  <script>
    var myId = document.getElementById('x');
    myId.addEventListener("click", function(e) { alert(e); }, false);
  </script>
 </head>
 <body>
  <div id="x">Текст</div>
 </body>
</html>


во время
выполнения строчки
var myId = document.getElementById('x');

блока <div id="x">Текст</div> еще не существует, так как он описан ниже этой строчки.

(Sandr) 17.12.2011 14:26

Livanderiaamarum,
блин.. точно.. спасибо!)
Не мог бы ты подсказать, как мне быть в данном случае? Ставить этот код ниже дива или присваивать диву обработчик онклик - не вариант, т.к. хочу научиться работать с addEventListener.

Livanderiaamarum 17.12.2011 14:37

Цитата:

Сообщение от (Sandr) (Сообщение 143854)
Livanderiaamarum,
блин.. точно.. спасибо!)
Не мог бы ты подсказать, как мне быть в данном случае? Ставить этот код ниже дива или присваивать диву обработчик онклик - не вариант, т.к. хочу научиться работать с addEventListener.

<html>
 <head>
  <script>

window.onload = function()	//событие выполнится после загрузки всех элементов странички
{	
	var myId = document.getElementById('x');
	myId.addEventListener("click", function(e) { alert(e); }, false);
}
  </script>
 </head>
 <body>
  <div id="x">Текст</div>
 </body>
</html>


но лично я бы посоветовал ставить все скрипты ниже body, это существенно ускоряет отображение странички)
а если хочешь оставитьс верху

(Sandr) 17.12.2011 14:56

Livanderiaamarum,
ещё раз спасибо)


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