我用 mootools 做了这个:
$("fox").addEvent("click", function(){
alert("clicked");
});
和 html:
<p id="fox">A</p>
现在如果我在这里尝试 http://jsfiddle.net/5uJ54/3/ ,它可以工作,但是如果我在浏览器中尝试它并且这就是它没有的所有代码,我会在 Firebug 中得到这个:
$("fox") is null
而且它在 chrome 中也不起作用。
为什么会这样?我也尝试过将所有内容都放在一个函数中,但它仍然不起作用。
最佳答案
如果您尝试在文档准备好之前选择您的元素,那么您将得到 null。
您拥有的 JSFiddle 沙箱设置为在加载文档后运行。
要让代码在您的文档中运行,您可以监听此 MooTools 事件,该事件将在文档准备好后触发: http://mootools.net/docs/core/Utilities/DOMReady
您的示例最终看起来像这样:
window.addEvent('domready', function() {
$("fox").addEvent("click", function(){
alert("clicked");
});
});
关于javascript - 为什么在函数外声明的变量为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4445667/