Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

При вызове третьим способом функция

$
может принимать необязательный второй аргумент. В нем можно передать объект
Document
, чтобы указать документ, которым должны быть связаны элементы. (Если, к примеру, предполагается, что создаваемые элементы будут вставлены в элемент
<iframe>,
необходимо явно указать объект документа этого фрейма.) Или передать объект во втором аргументе. В этом случае предполагается, что свойства объекта определяют имена и значения HTML-атрибутов, которые должны быть установлены во вновь созданном элементе. Но если объект будет содержать свойства с такими именами, как «css», «html», «text», «width», «height», «offset», «val» или «data», или свойства с именами, совпадающими с именами методов регистрации обработчиков событий в библиотеке jQuery, она будет вызывать методы с этими именами для вновь созданного элемента и передавать им значения соответствующих свойств. (Методы, такие как
css, html
и
text
рассматриваются в разделе 19.2, а методы регистрации обработчиков событий - в разделе 19.4). Например:

var img = $("<img/>", // Создать новый элемент <img>

{ src:url, //с этим HTML-атрибутом,

css: {borderWidth:5}, // этим CSS-стилем

click: handleClick // и этим обработчиком события.

}):

Наконец, при четвертом способе вызова функции

$
передается функция. В этом случае указанная вами функция будет вызвана, когда документ будет полностью загружен и дерево DOM документа будет готово к выполнению операций. Это версия функции
onLoad
, представленной в примере 13.5, реализованная в библиотеке jQuery. Очень часто можно встретить jQuery-программы, реализованные в виде анонимных функций, объявляемых в вызове функции
jQuery
:

jQuery(function { // Будет вызвана по окончании загрузки документа

// Здесь находится весь программный код, использующий jQuery

}):

Иногда можно увидеть вызов $(f), оформленный в старом и более явном стиле:

$(document).ready(f).

Функция, передаваемая

jQuery
, будет вызвана со ссылкой
this
, указывающей на объект
document
, и функцией jQuery в качестве единственного аргумента. Это означает, что вы можете удалить глобальное определение функции $ и по-прежнему использовать этот удобный псевдоним локально, как показано ниже:

jQuery.noConflict; // Восстановить оригинальное значение $

jQuery(function($) { // Использовать $ как локальный псевдоним функции jQuery

// Здесь находится весь программный код, использующий jQuery

});

Функции, зарегистрированные с помощью

$
, будут вызваны библиотекой jQuery, когда будет возбуждено событие «DOMContentLoaded» (раздел 13.3.4) или, если это событие не поддерживается, когда будет возбуждено событие «load». То есть когда документ будет загружен и полностью разобран, но внешние ресурсы, такие как изображения, еще могут быть не загружены. Если функцию передать в вызов
$
после того, как дерево DOM будет готово, она будет вызвана немедленно, перед тем как
$
вернет управление.

Кроме того, библиотека jQuery использует функцию

jQuery
как собственное пространство имен и определяет в нем множество вспомогательных функций и свойств. Одной из таких вспомогательных функций является функция
jQuery.noConflict
, упоминавшаяся выше. В числе других функций общего назначения можно назвать функцию
jQuery.each
, предназначенную для выполнения итераций,
jQuery.parseJSON
– для синтаксического анализа данных в формате JSON. Перечень вспомогательных функций общего назначения приводится в разделе 19.7, а другие вспомогательные функции из библиотеки jQuery описываются на протяжении всей главы.

Терминология jQuery

Давайте остановимся, чтобы определить некоторые важные термины, которые будут встречаться на протяжении этой главы:

«функция jQuery»

Функция jQuery - это значение

jQuery
или $. Эта функция создает объекты
jQuery
, регистрирует обработчики, которые вызываются, когда дерево DOM будет готово к выполнению операций, а также служит пространством имен библиотеки jQuery. Я обычно использую имя
$
. Поскольку она служит пространством имен, функция jQuery может также называться «глобальным объектом jQuery», но очень важно не путать ее с «объектом
jQuery
».

«объект jQuery»

Объект

jQuery
– это объект, возвращаемый функцией jQuery. Объект
jQuery
представляет множество элементов документа и может также называться «результатом функции jQuery», «множеством jQuery» или «обернутым набором».

«выбранные элементы»

Когда функции jQuery передается CSS-селектор, она возвращает объект

jQuery
, представляющий множество элементов документа, соответствующих этому селектору. При описании методов объекта
jQuery
я часто буду употреблять фразу «выбранные элементы», ссылаясь на элементы множества. Например, при описании метода
attr
я мог бы сказать: «метод
attr
устанавливает HTML-атрибуты выбранных элементов». Вместо более точной, но трудно читаемой фразы: «метод
attr
устанавливает HTML-атрибуты элементов в объекте
jQuery
, относительно которого он был вызван». Обратите внимание, что слово «выбранных» относится к CSS-селектору и не имеет никакого отношения к элементам, выбираемым пользователем.

«функция библиотеки jQuery»

Функция библиотеки jQuery - это функция, такая как

jQuery.noConflict,
которая определена в пространстве имен функции jQuery. Функции библиотеки jQuery могут также упоминаться как «статические методы».

«метод jQuery»

Метод jQuery- это метод объекта

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

  • Читать дальше
  • 1
  • ...
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: