我正在尝试做一些相当简单的事情,但由于我的原因可能不足以搜索文档,我无法让它工作.
我有一个功能强大的内联JS,看起来像这样:
<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>
Run Code Online (Sandbox Code Playgroud)
出于各种原因,我正试图分离JS,这就是我遇到麻烦的地方.
我创建了以下测试页面,它给出了错误Uncaught TypeError: Cannot call method 'addEventListener' of null:
<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>
Run Code Online (Sandbox Code Playgroud)
我能找到的唯一一个指向这样的问题的是它addEventListener无法使用<A>但应该处理<IMG>(这对我来说很合适,因为我要将它倒在一些图像上),所以我尝试添加以下无济于事:
<img id="compute" src="http://products.wolframalpha.com/images/products/products-wa.png" />
Run Code Online (Sandbox Code Playgroud)
提前谢谢你指出我做错了什么.这可能是显而易见的,但我对JS的经验几近为零,而且到目前为止,我已经大部分都是通过货物结果.