#javascript-events
#javascript #dom-события
Вопрос:
Почему простой код JavaScript не выполняется?
<script type="text/javascript" charset="utf-8">
var btn = document.getElementById("myBtn");
btn.onclick = function(){
alert("Clicked");
};
</script>
</head>
<body>
<a id="myBtn" href="#">click me </a>
</body>
Комментарии:
1. Работает ли это, если вы добавляете
return false;
в конец функции? А вы пробовали это в другом браузере? У меня такое чувство, что оповещение заблокировано
Ответ №1:
Назначьте свой обработчик onclick после загрузки документа.
<script type="text/javascript" charset="utf-8">
function assignHandler() {
var btn = document.getElementById("myBtn");
btn.onclick = function() {
alert("Clicked");
};
}
</script>
<body onload="assignHandler()">
<a id="myBtn" href="#">click me </a>
</body>
Ответ №2:
порядок
<a id="myBtn" href="#">click me </a>
<script type="text/javascript" charset="utf-8">
var btn = document.getElementById("myBtn");
btn.onclick = function(){
alert("Clicked");
};
</script>
Комментарии:
1. Это сработало, но что, если скрипт назначен внешнему файлу и включен в заголовок?
Ответ №3:
Взгляните на это. Блок javascript должен быть после элемента html:
Ваш код работает, но его лучше использовать следующим образом:
var btn =
document.getElementById('myBtn');
btn.addEventListener('click',function
(e) { alert('my click works after the html element has been created');
},true);