JavaScript: Uncaught TypeError: Die Methode 'addEventListener' von null kann nicht aufgerufen werden
Ich versuche, etwas zu tun, ziemlich einfach, aber der Grund für mich wahrscheinlich nicht gut genug, um zu suchen, Dokumentation, ich kann nicht ankommen dieses zu wirken.
Habe ich wieder eine funktionierende inline-JS, das sieht so aus:
<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>
Aus verschiedenen Gründen, versuche ich Sie zu trennen, die JS, und das ist, wo ich traf einen Haken.
Habe ich die folgenden test-Seite, die gibt mir die Fehlermeldung 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>
Das einzige, was ich habe finden können, weist auf ein problem ist, dass addEventListener
arbeiten nicht <A>
sollte aber Griff <IMG>
(was mir gut gefällt, wie ich Gießen werde dies auf einigen Bildern), also habe ich versucht, indem Sie den folgenden ohne Erfolg:
<img id="compute" src="http://products.wolframalpha.com/images/products/products-wa.png" />
Vielen Dank im Voraus für den Hinweis, was ich falsch mache. Es ist wohl extrem offensichtlich, aber ich habe nahezu null Erfahrung mit JS und ich gegangen sind, meist durch Ladung culting, wenn ich brauchte es bis jetzt.
InformationsquelleAutor der Frage Jan | 2012-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein code ist in der
<head>
=> wird ausgeführt, bevor die Elemente dargestellt werden, sodocument.getElementById('compute');
gibt null zurück, als MDN Versprechen...MDN
Lösungen:
Was ist das jQuery -
ready
Veranstaltung?ready
docsInformationsquelleAutor der Antwort gdoron