Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   События как свойства элемента (https://javascript.ru/forum/dom-window/23190-sobytiya-kak-svojjstva-ehlementa.html)

Nowitty 15.11.2011 17:01

События как свойства элемента
 
Здравствуйте. Осваиваю JS, возникала проблема с событиями, вернее со способом присваивания где событие как свойство элемента :)
var a = document.getElementById('but');
a.onclick = function ()
{
alert('!!!');
}


Код:

<input id="but" type="button" value="Нажми меня">
Не получается ни один пример из тех что даются здесь :(

рони 15.11.2011 17:15

Nowitty,
Ставьте скрипт после соответствующего элемента либо запускайте скрипт после загрузки всего документа

Nowitty 15.11.2011 17:51

скрипт в отдельном файле...это разве должно влиять?
после этой проверки все нажимаю...
window.onload = function() {
   alert('Документ загружен!')
}

trikadin 15.11.2011 17:53

Цитата:

Сообщение от Nowitty
после этой проверки все нажимаю...

Дело не в том, когда вы нажимаете, а в том, когда добавляете обработчик.
document.onload=function(){
var a = document.getElementById('but');
a.onclick = function ()
{
alert('!!!');
}
}

Nowitty 15.11.2011 18:10

trikadin, не работает( думал может от браузера зависит, но и в ИЕ ихроме и мозиле ничего не происходит :(

trikadin 15.11.2011 18:39

Цитата:

Сообщение от trikadin
document.onload

Ну да, я дурак.
window.onload

Nowitty 15.11.2011 19:33

trikadin, спасибо большое)
а мог бы пояснить почему именно так должно быть? или дать ссылку на статью об этом :)

trikadin 15.11.2011 20:01

Потому что в момент выполнения вашего скрипта ещё не все элементы могут быть загружены. Более того - все элементы загружаются (а скрипты - выполняются) последовательно. Соответственно, если скрипт выполняется до того, как начинает загружаться элемент, то скрипт и не найдёт этот элемент.


Часовой пояс GMT +3, время: 06:32.