首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在函数外部声明的变量是空的?

为什么在函数外部声明的变量是空的?
EN

Stack Overflow用户
提问于 2010-12-15 08:29:35
回答 3查看 144关注 0票数 1

这是我用mootools做的:

代码语言:javascript
复制
$("fox").addEvent("click", function(){
alert("clicked");
});

和html:

代码语言:javascript
复制
<p id="fox">A</p>

现在,如果我在这里尝试它,它可以工作,但如果我在浏览器中尝试它,而所有的代码都不能工作,我会在http://jsfiddle.net/5uJ54/3/中得到这样的结果:

代码语言:javascript
复制
$("fox") is null

而且它也不能在chrome中工作。

为什么会发生这种情况?我也试过把所有的东西都放在一个函数里,但是仍然不起作用。

EN

回答 3

Stack Overflow用户

发布于 2010-12-15 08:33:50

如果你试图在文档准备好之前选择你的元素,那么你将得到null。

您拥有的JSFiddle沙箱被设置为在加载文档之后运行。

要让代码在文档中工作,您可以侦听此MooTools事件,该事件将在文档就绪后触发:http://mootools.net/docs/core/Utilities/DOMReady

您的示例最终将如下所示:

代码语言:javascript
复制
window.addEvent('domready', function() {
    $("fox").addEvent("click", function(){
        alert("clicked");
    });
});
票数 7
EN

Stack Overflow用户

发布于 2010-12-15 08:31:56

你确定mootools正在被加载,并且你正在把javascript放在某个domready事件中吗?(不确定mootools版本是什么)。

票数 0
EN

Stack Overflow用户

发布于 2010-12-15 08:31:59

因为你没有在任何地方包含mootools javascript库?

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4445667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档