Я не думаю, что здесь не будет правильного слова. Я не могу заставить его работать.
Это очень простой кусок кода. Если я просто набираю alert("Working");
он работает нормально.
В любом случае, вот весь код, и, может быть, вы, ребята, можете помочь мне понять, что я делаю неправильно.
<!DOCTYPE html>
<html>
<head>
<title>Events</title>
</head>
<body>
<script type="text/javascript">
var btn = document.getElementById("btn");
btn.attachEvent("onclick", function(){
alert("Clicked");
})
</script>
<input id="btn" type="button" value="Press me">
</body>
</html>
Пара вопросов:
</body>
.attachEvent()
предназначен только для старых версий IE. Все современные браузеры поддерживают .addEventListener()
.Пересмотренный HTML/код:
<!DOCTYPE html>
<html>
<head>
<title>Events</title>
</head>
<body>
<input id="btn" type="button" value="Press me">
<script type="text/javascript">
var btn = document.getElementById("btn");
btn.addEventListener("click", function(){
alert("Clicked");
})
</script>
</body>
</html>
Рабочая демонстрация: http://jsfiddle.net/jfriend00/Dmqdn/
Здесь jsfiddle иллюстрирует решение. Вам нужно сделать две вещи, чтобы сделать эту работу:
<script>
ниже вводаattachEvent
с помощью addEventListener
. attachEvent
больше не поддерживаетсяЗдесь код:
<input id="btn" type="button" value="Press me">
<script type="text/javascript">
var btn = document.getElementById("btn");
btn.addEventListener("click", function(){
alert("Clicked");
})
</script>
Для этого нужно работать с FF (и другими современными браузерами):
document.addEventListener("DOMContentLoaded", function(event) {
var btn = document.getElementById('btn');
btn.addEventListener('click', function() {
console.log('Clicked');
});
});
Это безопасно для обеспечения полной загрузки DOM, прежде чем пытаться получить к нему доступ.
Я использовал console.log
, вы должны ознакомиться с ним, это поможет вам многое. Проверьте FireBug для FF, инструменты разработчика в Chrome.
attachEvent
не будет работать в большинстве современных браузеров.