我用mootools做的:

$("fox").addEvent("click", function(){
alert("clicked");
});


和html:

<p id="fox">A</p>


现在,如果我在这里尝试http://jsfiddle.net/5uJ54/3/,它可以工作,但是如果我在浏览器中尝试了它而不是所有代码,我会在萤火虫中得到它:

$("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 - 为什么在函数外部声明的变量为null?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4445667/

10-11 15:47