Устанавливает таймер задержки выполнения очередных функций-эффектов (следующих пунктов в очереди) для соответствующих элементов набора jQuery.
Синтаксис и описание:
· Добавлено в jQuery 1.4.
· delay( duration [, queueName ])
· Команда .delay() позволяет установить время задержки выполнения следующих функций анимационных эффектов в очереди для каждого элемента набора jQuery.
Возвращаемое значение: (объект) Набор jQuery.
Параметры:
· duration – (число) Продолжительность паузы - задержки исполнения следующих пунктов очереди в миллисекундах.
· queueName – (строка) Необязательный параметр. Имя очереди. По умолчанию имеет значение “fx” (стандартная очередь функций).
1. Примечание:
С помощью команды .delay() можно отложить во времени срабатывание очередных функций: как стандартных предопределенных эффектов, так и пользовательской анимации.
2. Примечание:
При использовании метода .delay() необходимо помнить, что его действие распространяется на очередь только тех элементов, к которым он применен.
Примеры:
1.
2. // Сначала растворим элемент, id которого имеет значение 'foo', 3. // а затем через секунду (1000 миллисекунд) проявим его.4. $('#foo').fadeOut(300).delay(1000).fadeIn(400);
Bind()
Устанавливает обработчик события для всех элементов набора jQuery.
· Команда .bind() устанавливает функцию handler() как обработчик события eventType для всех элементов набора jQuery. Может связывать с обработчиками любые события JavaScript, а также собственные (пользовательские) события.
Возвращаемое значение: (объект) Набор jQuery.
Параметры:
· eventType – (строка) Тип события (или несколько типов событий, разделенных пробелами). Допустимы абсолютно все типы событий JavaScript (например: focus, mouseover, resize и другие) и даже именованные (см. Примечание 2). Также может содержать нестандартные имена пользовательских событий, которые не предусмотрены в поведении браузера (обработчики таких событий могут быть вызваны в jQuery искусственно с помощью методов .trigger() или.triggerHandler()).
· eventData – (объект) Данные, передаваемые обработчику события в виде event.data (свойства data экземпляра Event). Значение переменных, передаваемых в eventData, фиксируется на момент объявления обработчика, а не на момент его вызова. Если этот необязательный параметр опущен, то функция handler() (обработчик события) передается во втором параметре.
· handler([eventObject]) – Функция, объявляемая обработчиком события eventType. В качестве первого параметра она получает eventObject (экземпляр объекта Event). Контекст this вызова функции ссылается на текущий элемент.
function handler(eventObject) { this; // текущий DOM-элемент. }
· events – (объект) Содержит одну или несколько пар - типов событий и их обработчиков в виде {'eventType': handler(),...}
1. Примечание:
.bind() является в jQuery основным методом для прикрепления обработчиков событий. Но библиотека предоставляет для удобства целый ряд укороченных вариантов метода .bind() для установки обработчиков стандартных типов JS событий.
События могут группироваться с помощью определения в пространстве имен, когда собственное имя пространства имен добавляется к имени события в виде суффикса через точку. (В дальнейшем такими именованными событиями можно оперировать как с единым целым, используя для доступа к ним имя пространства имен обработчиков событий. Например, удалить сразу всю группу обработчиков событий. См. метод .unbind())
$('*').unbind('click.myEvents'); // удалит только все обработчики события click пространства имен myEvents: handler1 и handler2.
$('*').unbind('.myEvents'); // удалит только все обработчики всех событий в пространстве имен myEvents: handler1, handler2 и handler3.
3. Примечание:
С помощью метода preventDefault() экземпляра Event при перехвате события можно предотвратить поведение браузера по умолчанию, например, отправку данных формы на сервер или перезагрузку страницы по щелчку на ссылке.
$('form').bind('submit', function(e){ ... // Какие-нибудь действия e.preventDefault(); // Предотвращение отправки формы });
4. Примечание:
С помощью метода stopPropagation() экземпляра Event можно запретить распространение события по дереву DOM (всплытие от целевого элемента к корню дерева).
$('span').bind('click', function(e){ e.stopPropagation(); // Запрет всплытия события ... // Какие-нибудь действия });
5. Примечание:
Чтобы предотвратить поведение браузера по умолчанию и запретить распространение (всплытия) события по дереву DOM, функция-обработчик должна возвратить false.
$('a').bind('click', function(e){ ... // Какие-нибудь действия return false; // Отмена и всплытия события, и поведения браузера по умолчанию - перехода по ссылке. });
6. Примечание:
Начиная с jQuery 1.4.2 одинаковые обработчики не "склеиваются" (дубликаты не игнорируются) как раньше при возникновении события. Например, следующий код приведет к тому, что сообщение 'Привет!' при одном клике на кнопке будет сгенерировано два раза.
function test(){ alert("Привет!"); } $("button").bind('click', test ); $("button").bind('click', test );
Примеры:
1. Для элемента с id="foo" установить обработчик JS события - щелчка мышью.
2. $('#foo').bind('click', function() {3. alert('Пользователь кликнул на элементе с id="foo"'); });
4. Установить на элементе обработчик сразу для нескольких событий
15. При клике на элементе с id='foo' выдаст сообщение 'Пока!'. При клике на элементе с id='bar' также выдаст сообщение 'Пока!', т.к. на момент вызова обработчика переменная message будет иметь значение 'Пока!'.
23. При клике на элементе с id='foo' выдаст сообщение 'Привет!'. При клике на элементе с id='bar' также выдаст сообщение 'Пока!', т.к. значения переменных в данных, переданных функциям через Event, фиксируются на момент объявления этих функций обработчиками соответствующих событий, а не на момент их срабатывания. (См. описание - параметр eventData)
31. По событию готовности document (сразу после того, как исходный код страницы будет полностью загружен браузером) для элемента с id='foo' установим обработчик события click с использованием свойств экземпляра объекта Event для отображения координат щелчка.
Устанавливает (или вызывает) обработчики JavaScript события change (когда элемент потерял фокус, а его значение с момента получения фокуса изменилось) для всех элементов набора jQuery.
· .click()
Устанавливает (или вызывает) обработчики JavaScript события click (щелчок - последовательно нажата и отпущена кнопка мыши на одном и том же участке экрана) для всех элементов набора jQuery.
Синтаксис и описание:
· Добавлено в jQuery 1.0.
· click( [handler( eventObject )] )
· Объявляет функцию handler() обработчиком JavaScript события click для всех элементов набора jQuery. Это сокращенный вариант функции.bind():
.bind('click', handler)
Если необязательный параметр handler() опущен, то искусственно вызывает все обработчики события click, установленные во всех соответствующих элементах. Также искусственно создает объект события Event и передает его обработчикам. Это укороченный вариант метода.trigger():
.trigger('click')
Возвращаемое значение: (объект) Набор jQuery.
Параметры:
· handler([eventObject]) – Необязательный параметр - функция, объявляемая обработчиком JavaScript события click. В качестве единственного параметра она получает eventObject(экземпляр объекта Event). Контекст this вызова функции ссылается на текущий элемент.
function handler(eventObject) { this; // текущий DOM-элемент. }
1. Примечание:
Событие click - (Щелчок) Была последовательно нажата (событие mousedown) и отпущена (событие mouseup) кнопка мыши на одном и том же участке экрана. Следует за событием mouseup. (Актуально для большинства элементов.)
2. Примечание:
Действие браузера по умолчанию (например, переход по ссылке) можно предотвратить путем возвращения false функцией обработчиком.
3. Примечание:
Команда .click() без параметров не приводит к возникновению настоящего события 'click'. Она лишь запускает обработчики данного JS события. При этом свойство target искусственно сгенерированного экземпляра Event содержит ссылку на элемент, на котором установлен обработчик.
Примеры:
1. Установить обработчик события click на всех элементах <img> на странице, который вычисляет координаты указателя мыши при щелчке.
При клике на параграфе <p> будет запускаться обработчик первого изображения, а т.к. в этом случае экземпляр объекта события создается искусственно (без возникновения реального события click), то его свойства pageX и pageY (координаты события от мыши относительно начала координат документа) не будут иметь значений.