Pro Javascript 的代码无法运行
Code for Pro Javascript won't running
我认为这里不是正确的词。 我不能让它运行。
这是一段非常简单的代码。 如果我只是输入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()
.
修订后的网页/代码:
<!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/
要在FF(和其他现代浏览器)上工作:
document.addEventListener("DOMContentLoaded", function(event) {
var btn = document.getElementById('btn');
btn.addEventListener('click', function() {
console.log('Clicked');
});
});
在尝试访问 DOM 之前,确保完全加载它是最安全的。
我用过console.log
,你应该熟悉它,它会对你有很大帮助。查看 FireBug for FF,Chrome 中的开发工具。
这是说明解决方案的 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>
相关文章:
- AJAX调用运行C代码的最佳实践
- 在经过一段时间或满足条件后运行代码
- 在Firefox restartless插件中,当一个新窗口打开时,我如何运行代码(监听窗口打开)
- 如果调试器关闭,Internet Explorer将出现运行代码问题
- JQuery 帖子未在 PHP 文件中运行代码
- 当ajax请求发生时运行代码的Chrome扩展
- 当我运行代码时,我得到以下结果 []对象对象] [对象对象],但应该给我一个有序数组
- 仅当客户端连接到Meteor服务器时才运行代码
- 在.each()循环中的ajax完成后,Jquery运行代码
- node.js和Cygein,我该如何运行代码
- 未访问全局变量,未运行代码
- Meteor - 在客户端上的异步回调的 for 循环后运行代码
- 运行代码以在Android应用程序中单击javascript按钮?尝试在页面上抓取回复按钮联系信息 craigslist
- 函数结束时如何运行代码
- JS 在不满足条件时在 if 语句中运行代码段
- 在 Ember 视图参数更改上运行代码
- 如何在 YUI 模块中运行代码
- 如何在未在 iframe 中定义的 iFrame 中运行代码
- 在后台运行代码,同时显示警报
- 加载页面时运行代码