Я пытаюсь сделать что-то довольно простое, но по той причине, что я, вероятно, недостаточно хорош для поиска документации, я не могу заставить это работать.
У меня есть функционирующий встроенный 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>
По разным причинам я пытаюсь отделить 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>
Единственное, что мне удалось найти, что указывает на подобную проблему, это то, что addEventListener
не может работать с <A>
, но должен обрабатывать <IMG>
(, что меня вполне устраивает, так как я собираюсь залить это на некоторые изображения ), поэтому я попытался добавить следующее, но безрезультатно:
<img id="compute" src="http://products.wolframalpha.com/images/products/products-wa.png" />
Заранее спасибо за указание, что я делаю неправильно. Вероятно, это очевидно, но у меня почти нулевой опыт работы с JS, и до сих пор я в основном занимался культивированием грузов, когда мне это было нужно.