Вход

Просмотр полной версии : Проблема с обработчиком событий


(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
Подскажите, что не так в этом коде?

<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
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,
ещё раз спасибо)