В официальной документации по библиотеке jQuery написано, что все три нижеперечисленные конструкции эквивалентны:
$(document).ready(handler) $().ready(handler) (this is not recommended) $(handler)Но вот во второй строчке есть приписка "this is not recommended". Стало интересно почему же?
Оказалось, хитрость закопана в истории версий jQuery: В версиях до 1.4 конструкция
$()
была ссылкой на конструкцию $(document)
. Поэтому, данный код воспринимался нормально.Но масса людей начала делать столь безумные вещи как например:
$().mouseover()
А для того, чтобы получить пустой объект jQuery приходилось делать следующую манипуляцию: $([])
.Поэтому начиная с версии 1.4 конструкция $()
вовзращает пустой объект jQuery. Но в версии 1.4 $().ready(fn)
оставлена для совместимости. Лучшей практикой по мнению разработчиков библиотеки является использование конструкции: $(document).ready(fn)
Комментариев нет:
Отправить комментарий