[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: События
GQU
$(document).ready(function(){
var myMoto = document.getElementById('img_1');
function motoClick(){
alert("Ширина данной картинки: " + myMoto.width);
}
myMoto.onclick = motoClick();
});

Как JS обрабатывает
myMoto.onclick = motoClick();
Почему событие onclick срабатыват, после загрузки html, не дожидаясь, пока нажму на картинку?

Вобщем, я хочу узнать в деталях, что происходит в строке
myMoto.onclick = motoClick();

если поставить в motoClick скобки



Спустя 5 часов, 30 минут, 32 секунды (4.08.2011 - 05:09) jetistyum написал(а):
не должно срабатыать, судя по коду.

Спустя 2 часа, 29 минут, 21 секунда (4.08.2011 - 07:39) Michael написал(а):
Так надо функцию присваивать
myMoto.onclick = motoClick;

Функция со скобками - это вызов функции, поэтому и срабатывает после загрузки документа.

И можно задать философский вопрос - используя jquery на странице почему не использовать jquery для навешивания событий?

Спустя 5 часов, 16 минут, 36 секунд (4.08.2011 - 12:55) GQU написал(а):
Цитата
Функция со скобками - это вызов функции, поэтому и срабатывает после загрузки документа.

Так она же должна срабатывать когда сработает событие
Тогда в чем разница между myMoto.onclick = motoClick(); и motoClick(); ???
Цитата
И можно задать философский вопрос - используя jquery на странице почему не использовать jquery для навешивания событий?

Просто разными способами пробую

Спустя 29 минут, 43 секунды (4.08.2011 - 13:25) Michael написал(а):
myMoto.onclick = motoClick();

Вызовется функция motoClick и результат ее выполнения присвоится тому что слева стоит.
Т.к. return в функции нет, то undefined присвоится

Спустя 41 минута, 5 секунд (4.08.2011 - 14:06) GQU написал(а):
Цитата
Т.к. return в функции нет, то undefined присвоится

$(document).ready(function(){//ready - готов; когда документ будет готов(DOM дерево будет построено), выполнить то что в функции
var myMoto = document.getElementById('img_1');
function motoClick(){
return (alert("Ширина данной картинки: " + myMoto.width));
}
myMoto.onclick = motoClick();

Поставим return, ничего не меняется
Как я понял вы клоните к тому, что если в примере выше щелкнуть по картинке, должно вывестись сообщение функции, Но Этого НЕ Происходит

Спустя 4 минуты, 5 секунд (4.08.2011 - 14:10) Michael написал(а):
Ты просто какую то ахинею пишешь... Почему не начать учить яваскрипт по справочнику, а не гадать?

Я же показал, как функция присваивается...
Цитата
myMoto.onclick = motoClick;
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.