2010-12-15 4 views
1

я сделал это с помощью MooTools:Почему переменные объявлены вне функции null?

$("fox").addEvent("click", function(){ 
alert("clicked"); 
}); 

и HTML:

<p id="fox">A</p> 

теперь, если я попробовать его здесь http://jsfiddle.net/5uJ54/3/, он работает, но если я попробовать его в браузере и то весь код, оно Не получается, я получаю это в firebug:

$("fox") is null 

и он также не работает в хромированном состоянии.

Почему это происходит? Я также попытался положить все внутри функции, но он все еще не работает.

ответ

0

Вы уверены, что mootools загружается, и вы помещаете javascript в какое-то событие domready? (Не уверен, что это версия mootools).

-1

Поскольку вы не указали библиотеку javascript mootools в любом месте?

+0

Да, я уверен, потому что, если я попробую что-то еще, он работает – nope

7

Если вы попытаетесь выбрать свой элемент до того, как документ будет готов, вы получите нуль.

Песочница JSFiddle, которую у вас есть, настроена для запуска после загрузки документа.

Чтобы получить код для работы в документе вы можете слушать это событие MooTools, которые срабатывают после документа готов: http://mootools.net/docs/core/Utilities/DOMReady

Ваш пример будет в конечном итоге выглядеть примерно так:

window.addEvent('domready', function() { 
    $("fox").addEvent("click", function(){ 
     alert("clicked"); 
    }); 
}); 
Смежные вопросы