О функции jQuery .ready()

#jquery #dom

#jquery #dom

Вопрос:

С точки зрения времени выполнения и используемых ресурсов, удобнее загружать как можно больше материала с помощью jQuery.ready() или самого необходимого?

Комментарии:

1. не используйте ее вообще, но ваш JS находится внизу вашей страницы. Но вы должны использовать его только для инициализации того, что вы хотите сделать. Не для того, чтобы помещать в него весь свой код.

2. Если вы имеете в виду самое необходимое как document.ready , вам следует заменить это. В противном случае я не редактировал эту часть, поскольку не был слишком уверен, что вы имели в виду под «самым необходимым» 😉

3. @shaz: «самое необходимое» == минимальный материал для загрузки с ним, строго необходимый 🙂

Ответ №1:

просто используйте ее в качестве триггера для инициализации функций… Не помещайте в нее весь свой код:

не делайте:

 $(function(){
  var someFunction = function(){
   $("a").click(function(event){
     event.preventDefault();
   });
  };
  someFunction();
});
  

сделать:

 var someFunction = function(){
   $("a").click(function(event){
     event.preventDefault();
   });
};
$(function(){
  someFunction();
});
  

это более читабельно, и просто нет смысла помещать весь ваш код в готовую функцию.

ps:

$(function(){}) ===
$(document).ready()

Комментарии:

1. Так, например, удобнее использовать атрибут onClick для вызова функции, когда нам нужно, вместо того, чтобы использовать .click(), включенный в .ready() … верно?

2. не совсем. Документ ready предназначен для проверки того, что DOM был интерпретирован браузером. Таким образом, в случае вашего клика это просто гарантирует, что браузер знает об элементе, к которому вы хотите привязать свой клик.

3. Хорошо, но… Лучше использовать событие onClick в html-теге и вызывать функцию, когда нам нужно, или предварительно загрузить эту функцию в $(document). готов() и использует .click()?

4. нет, это совсем не лучше… используйте .click() я обновил свой пример