jquery готовый метод - PullRequest
       21

jquery готовый метод

1 голос
/ 12 марта 2012

Следующий фрагмент jquery говорит, что подождите, пока документ не будет готов.

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

Какие другие объекты могут быть переданы в $() вместо параметра документа.

Ответы [ 3 ]

6 голосов
/ 12 марта 2012

в соответствии с документами :

Метод .ready () можно вызвать только для объекта jQuery , соответствующего текущему документу

Но моя Скрипка показывает, что это неправда !!!

HTML:

<div id="gdoron">
    <input value='aaa' />
</div>​

JavaScript:

$('#gdoron').ready(function() {
    alert($('#gdoron').html()); // alerts: "<input value='aaa' />"
});​

alert($('#gdoron').html()); // alerts: "null"

Может быть, это означало, что документы this внутри обработчика будут document объектом, а не элементом, соответствующим селектору? (Что верно ...)

Код, который запускает обработчики readyList:

readyList.fireWith( document, [ jQuery ] );

В любом случае, почему бы вам не использовать объект document? это единственный объект DOM, который всегда будет определяться, а не body и т. д.


Все три следующих синтаксиса эквивалентны:

  • $(document).ready(handler)
  • $().ready(handler) (это не рекомендуется)
  • $(handler)
1 голос
/ 12 марта 2012

Метод .ready () можно вызывать только для объекта jQuery, соответствующего текущему документу

1 голос
/ 12 марта 2012

Документация jQuerys на готов говорит:

Метод .ready () можно вызывать только для объекта jQuery, соответствующего текущему документу, поэтому селектор можно опустить.

Большинство людей используют:

$(function(){});

это короче и менее запутанно;)

...