我有这行代码,但它会抛出错误。代码有什么问题?
<html>
<head>
<script src="http://prototypejs.org/javascripts/prototype.js" type="text/javascript"></script>
<script type="text/javascript">
Event.observe('target', 'click', function(event) {
// ...
});
</script>
</head>
<body>
<p id='target'>Click me!</p>
</body>
</html>
答案 0 :(得分:0)
您尝试绑定事件处理程序的元素在执行代码时不存在于DOM中。将它包装在DOM ready事件处理程序中:
document.observe("dom:loaded", function() {
Event.observe('target', 'click', function(event) {
// ...
});
});
中提到了这一点
尝试观察事件的最常见错误之一就是尝试做 在元素存在于DOM之前。不要试图观察元素 直到dom:loaded事件或窗口加载事件被触发之后。
答案 1 :(得分:0)
在加载
标记后加载脚本。这样你就不需要检测dom:loaded事件了。 :)
<html>
<head>
<script src="http://prototypejs.org/javascripts/prototype.js" type="text/javascript"></script>
</head>
<body>
<p id='target'>Click me!</p>
<script type="text/javascript">
Event.observe('target', 'click', function(event) {
alert('clicked me');
});
</script>
</body>
</html>