JQuery document.ready vs pageLoad

Я подобрал существующий проект от другого разработчика, и я заметил в коде, что они выполняют js-код в трех разных обработчиках событий...

function pageLoad() {
//execute code
}

$(document).ready(function() {
//execute code
});

$(function() {
//execute code
});

Мой вопрос: они все одинаковы? Или, по крайней мере, последние два? Я понимаю, что pageLoad вызывается платформой .NET, поэтому он не зависит от библиотеки jQuery, загруженной, как и вторые две, - что мое понимание в любом случае - это о правильном?

Ответы

Ответ 1

$(документ).ready()

  • Идеально подходит для однократной инициализации.

  • Оптимизация черной магии; может работать немного раньше, чем pageLoad().

  • Не привязывает функциональность к элементам, подверженным частичным обратным передачам.

Pageload()

  • Не подходит для однократной инициализации, если используется с UpdatePanels.

  • Немного оптимизирован в некоторых браузерах, но непротиворечивый.

  • Идеально подходит для повторной установки функциональности для элементов в UpdatePanels.

Ответ 4

$(document).ready не будет срабатывать для частичных обратных передач (произошло из AJAX). В этом случае вы должны использовать функцию MSAJAX pageLoad, когда вам нужно что-то выполнить, когда страница загружается либо из полной обратной или частичной.

Статья, приведенная на сайте Encosia, является хорошим показанием.