javascript - 为什么在函数外声明的变量为空?

标签 javascript mootools

我用 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/

相关文章:

javascript - Node.js 教程,Http Server 处理错误

javascript - 使用动态 HTML 导入在模板中标记时, polymer 元素的尺寸会损坏

javascript - 每个 mootools "this"?

javascript - 如何使用 Mootools 支持 IE 8-9 中的 'placeholder' 属性?

javascript - 导航栏覆盖文本(Bootstrap)

javascript - $document.ready 和 ng-model

java - 给新变量赋值?

javascript - 如何防止使用 selectvizr 时 mootools 和 jquery 之间的冲突?

javascript - Mootools 类以元素作为参数进行绑定(bind)

javascript - Mootools 在 ajax 请求后附加 html