Javascript: TypeError não capturado: Não é possível chamar o método 'addEventListener' de null
Estou tentando fazer algo bastante simples, mas pelo motivo de eu provavelmente não ser bom o suficiente para pesquisar na documentação, não consigo fazer isso funcionar.
Eu tenho um JS embutido em funcionamento que se parece com isso:
<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>
Por várias razões, estou tentando separar o JS, e é aqui que encontro um problem
Eu criei a seguinte página de teste que me dá o erroUncaught 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>
A única coisa que consegui descobrir que aponta para um problema como esse é queaddEventListener
não pode trabalhar com<A>
mas deve lidar com<IMG>
(o que me agrada muito, pois vou espalhar isso em algumas imagens), então tentei adicionar o seguinte sem sucesso:
<img id="compute" src="http://products.wolframalpha.com/images/products/products-wa.png" />
Agradecemos antecipadamente por apontar o que estou fazendo de errado. Provavelmente é óbvio, mas tenho quase zero de experiência com JS e passei principalmente pelo cultivo de carga quando precisei até agor