$(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 написал(а):
Так надо функцию присваивать
Функция со скобками - это вызов функции, поэтому и срабатывает после загрузки документа.
И можно задать философский вопрос - используя jquery на странице почему не использовать jquery для навешивания событий?
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; |