我认为这里不是正确的词。我无法让它运行。
这是一段非常简单的代码。如果我只输入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>
答案 0 :(得分:3)
几个问题:
</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>
答案 1 :(得分:0)
这适用于FF(和其他现代浏览器):
document.addEventListener("DOMContentLoaded", function(event) {
var btn = document.getElementById('btn');
btn.addEventListener('click', function() {
console.log('Clicked');
});
});
确保在尝试访问DOM之前完全加载DOM是最安全的。
我使用过console.log
,你应该熟悉它,它会帮助你很多。查看FireBug for FF,Chrome中的开发工具。
答案 2 :(得分:0)
以下是说明解决方案的jsfiddle。你需要做两件事来完成这项工作:
<script>
标记移至输入attachEvent
替换为addEventListener
。 attachEvent
是no longer supported 以下是代码:
<input id="btn" type="button" value="Press me">
<script type="text/javascript">
var btn = document.getElementById("btn");
btn.addEventListener("click", function(){
alert("Clicked");
})
</script>