首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript:未捕获TypeError:无法调用null的方法“addEventListener”

Javascript:未捕获TypeError:无法调用null的方法“addEventListener”
EN

Stack Overflow用户
提问于 2012-03-25 06:21:46
回答 1查看 125.6K关注 0票数 24

我正在尝试做一些相当简单的事情,但是由于我可能不太擅长搜索文档,所以我不能让它工作。

我有一个功能正常的内联JS,看起来像这样:

代码语言:javascript
复制
<A title="Wolfram IP Calc" href="javascript:txt=prompt('Enter%20IP%20address,%20e.g.%2010.20.30.40/29','1.2.3.4/5');%20if(txt)%20window.open('http://www.wolframalpha.com/input/?i='+txt);void(O);">Compute!</A>

由于各种原因,我正在尝试分离JS,这就是我遇到问题的地方。

我已经创建了下面的测试页面,它给出了错误Uncaught TypeError: Cannot call method 'addEventListener' of null

代码语言:javascript
复制
<HTML> <HEAD profile="http://www.w3.org/2005/10/profile"> <script type="text/javascript">
var compute = document.getElementById('compute');
compute.addEventListener('click', computeThatThing, false);

function computeThatThing() {
    txt=prompt('Enter%20IP%20address,%20e.g.%2010.20.30.40/29','1.2.3.4/5');
    if(txt) {
        window.open('http://www.wolframalpha.com/input/?i='+txt);
    }
}
</script></HEAD>
<BODY>
<A title="Wolfram IP Calc" id="compute" href="javascript:void(O);">Test</A>
</BODY>
</HTML>

我能找到的唯一能指出这样的问题的事情是addEventListener不能与<A>一起工作,但应该处理<IMG> (这很适合我,因为我将把它倒在一些图像上),所以我尝试添加以下内容,但没有用处:

代码语言:javascript
复制
<img id="compute" src="http://products.wolframalpha.com/images/products/products-wa.png" />

提前感谢你指出我做错了什么。这可能是显而易见的,但我几乎没有使用JS的经验,到目前为止,我大多数时候都是在需要的时候进行货物狂欢。

EN

回答 1

Stack Overflow用户

发布于 2018-09-22 06:16:14

将脚本标记移动到BODY的末尾,而不是HEAD,因为在当前代码中,当脚本计算时,html元素不存在于文档中。

因为你不想要你的jquery。使用window.onload或document.onload执行当前脚本标记中的整段代码。window.onload vs document.onload

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

https://stackoverflow.com/questions/9856140

复制
相关文章

相似问题

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