Метод / свойство | Описание |
---|---|
bind() | Устаревшие в версии 3,0. Используйте on() Вместо этого метода. Прикрепление обработчиков событий к элементам |
blur() | Присоединяет/запускает событие размытия |
change() | Присоединяет/запускает событие Change |
click() | Присоединяет/запускает событие Click |
dblclick() | Присоединяет/запускает событие двойного щелчка |
delegate() | Устаревшие в версии 3,0. Используйте Вместо этого метода On (). Присоединяет обработчик к текущим или будущим заданным дочерним элементам соответствующих элементов |
die() | Удалена в версии 1,9. Удаляет все обработчики событий, добавленные с помощью метода Live () |
error() | Удалена в версии 3,0. Присоединяет/запускает событие ошибки |
event.currentTarget | Текущий элемент DOM в фазе восходящей маршрутизации событий |
event. data | Содержит необязательные данные, передаваемые в метод события, когда текущий выполняющийся обработчик привязан |
event.delegateTarget | Возвращает элемент, в котором в настоящее время называется обработчик событий jQuery был прикреплен |
event.isDefaultPrevented() | Возвращает ли event.preventDefault () был вызван для объекта события |
event.isImmediatePropagationStopped() | Возвращает ли event.stopImmediatePropagation () был вызван для объекта события |
event.isPropagationStopped() | Возвращает ли event.stopPropagation () был вызван для объекта события |
event.namespace | Возвращает пространство имен, указанное при срабатывании события |
event.pageX | Возвращает положение мыши относительно левого края документа |
event.pageY | Возвращает положение мыши относительно верхнего края документа |
event.preventDefault() | Предотвращает действие по умолчанию события |
event.relatedTarget | Возвращает элемент, который вводится или завершается при перемещении мыши. |
event.result | Содержит Последнее/предыдущее значение, возвращаемое обработчиком событий, инициированным указанным событием |
event.stopImmediatePropagation() | Предотвращает вызов других обработчиков событий |
event.stopPropagation() | Предотвращает событие от восходящей вверх по дереву DOM, предотвращая любые родительские обработчики от уведомления о событии |
event.target | Возвращает, какой элемент DOM вызвал событие |
event.timeStamp | Возвращает число миллисекунд с 1 января 1970, когда событие запускается |
event.type | Возвращает тип события, который был инициирован |
event.which | Возвращает нажатие клавиши клавиатуры или кнопки мыши для события |
focus() | Присоединяет/запускает событие Focus |
focusin() | Прикрепление обработчика событий к фокусному событию |
focusout() | Прикрепление обработчика событий к событию фокуса |
hover() | Присоединяет два обработчика событий к событию hover |
keydown() | Присоединяет/запускает событие нажатия клавиши |
keypress() | Присоединяет/запускает событие нажатия клавиши |
keyup() | Присоединяет/запускает событие KeyUp |
live() | Удалена в версии 1,9. Добавляет один или несколько обработчиков событий в текущие или будущие выбранные элементы |
load() | Удалена в версии 3,0. Прикрепление обработчика событий к событию Load |
mousedown() | Присоединяет/запускает событие MouseDown |
mouseenter() | Присоединяет/запускает событие MouseEnter |
mouseleave() | Присоединяет/запускает событие MouseLeave |
mousemove() | Присоединяет/запускает событие MouseMove |
mouseout() | Присоединяет/запускает событие мыши |
mouseover() | Присоединяет/запускает событие наведении курсора мыши |
mouseup() | Присоединяет/запускает событие MouseUp |
off() | Удаляет обработчики событий, прикрепленные с помощью метода On () |
on() | Прикрепление обработчиков событий к элементам |
one() | Добавляет один или несколько обработчиков событий в выбранные элементы. Этот обработчик может быть активирован только один раз для каждого элемента |
$.proxy() | Принимает существующую функцию и возвращает новую с определенным контекстом |
ready() | Задает функцию, выполняемую при полной загрузке модели DOM |
resize() | Присоединяет/запускает событие изменения размера |
scroll() | Присоединяет/запускает событие Scroll |
select() | Присоединяет/запускает событие SELECT |
submit() | Присоединяет/запускает событие Submit |
toggle() | Удалена в версии 1,9. Присоединяет две или более функции для переключения между событиями Click |
trigger() | Запускает все события, привязанные к выбранным элементам |
triggerHandler() | Запускает все функции, привязанные к указанному событию для выбранных элементов |
unbind() | Устаревшие в версии 3,0. Используйте Вместо этого метода Off () . Удаляет добавленный обработчик событий из выбранных элементов |
undelegate() | Устаревшие в версии 3,0. Используйте Вместо этого метода Off () . Удаляет обработчик событий для выбранных элементов, теперь или в будущем |
выгрузка () | Удалена в версии 3,0. Присоединяет обработчик событий к событию Unload |
Модель событий jQuery | Функции подключения, запуска и удаления обработчиков событий, свойства и методы Event, команды для работы с событиями.
Категории: Events › Event Handler Attachment
Устанавливает обработчик события для всех элементов набора jQuery.
Возвращает: Объект (набор jQuery).
Категории: Events › Form Events , Forms
Устанавливает (или вызывает) обработчики JavaScript события blur (когда элемент теряет фокус ввода) для всех элементов набора jQuery.
Возвращает: Объект (набор jQuery).
Категории: Events › Form Events , Forms
Устанавливает (или вызывает) обработчики JavaScript события change (когда элемент потерял фокус, а его значение с момента получения фокуса изменилось) для всех элементов набора jQuery.
Возвращает: Объект (набор jQuery).
Категории: Events › Mouse Events
Устанавливает (или вызывает) обработчики JavaScript события click (щелчок — последовательно нажата и отпущена кнопка мыши на одном и том же участке экрана) для всех элементов набора jQuery.
Возвращает: Объект (набор jQuery).
Категории: Events › Mouse Events
Устанавливает (или вызывает) обработчики JavaScript события dblclick (двойной щелчок) для всех элементов набора jQuery.
Возвращает: Объект (набор jQuery).
Категории: Events › Event Handler Attachment
Устанавливает обработчик одного или нескольких событий для всех существующих элементов набора jQuery, соответствующих заданному фильтрующему селектору, и для тех элементов, которые будут соответствовать данным критериям в будущем.
Возвращает: Объект (набор jQuery).
Категории: Events › Event Handler Attachment
Удаляет обработчики событий, предварительно установленные с помощью метода .live(), для всех элементов набора jQuery.
Возвращает: Объект (набор jQuery).
Категории: Events › Browser Events
Устанавливает (или вызывает) обработчик JavaScript события «error» (когда имеет место ошибка JavaScript на странице или ошибка при загрузке изображения) для соответствующих элементов набора jQuery.
Возвращает: Объект (набор jQuery).
Категории: Events › Event Object
Свойство currentTarget экземпляра объекта Event идентифицирует текущий элемент, в котором в данный момент обрабатывается событие (в рамках фазы всплывания).
Возвращает: Элемент.
Категории: Events › Event Object
Содержит любые вспомогательные данные, если они были переданы обработчику события при его установке во втором параметре команды .bind() или .one().
Возвращает: Любые данные.
Категории: Events › Event Object
Позволяет определить, был ли вызван метод event.preventDefault(), отменяющий семантическое действие по умолчанию для данного события.
Возвращает: Логическое значение (Boolean).
Категории: Events › Event Object
Позволяет определить, был ли вызван метод event.stopImmediatePropagation(), предотвращающий всплытие объекта события и запуск последующих обработчиков
Возвращает: Логическое значение (Boolean).
Категории: Events › Event Object
Позволяет определить, был ли вызван метод event.stopPropagation(), предотвращающий всплытие объекта события.
Возвращает: Логическое значение (Boolean).
Категории: Events › Event Object
Содержит горизонтальную координату события от мыши относительно начала координат document (левого края страницы).
Возвращает: Число.
Категории: Events › Event Object
Содержит вертикальную координату события от мыши относительно начала координат document (верхнего края страницы).
Возвращает: Число.
Категории: Events › Event Object
Отменяет семантическое действие по умолчанию для события.
Возвращает: Значение не определено.
Категории: Events › Event Object
Идентифицирует DOM-элемент, косвенно участвующий в событии. Например, для mouseout — элемент, на который перешел курсор мыши.
Возвращает: Элемент.
Категории: Events › Event Object
Содержит последнее возвращенное обработчиком события значение, если оно было определено.
Возвращает: Объект.
Категории: Events › Event Object
Предотвращает всплытие объекта события вверх по DOM-дереву и запуск последующих обработчиков события, связанных с текущим элементом.
Категории: Events › Event Object
Предотвращает дальнейшее всплытие объекта события вверх по дереву DOM.
Категории: Events › Event Object
Свойство target экземпляра объекта Event идентифицирует DOM элемент, инициировавший событие (узел, в котором произошло событие ).
Возвращает: Элемент.
Категории: Events › Event Object
Содержит число миллисекунд с 1 января 1970 года до момента срабатывания события.
Возвращает: Число.
Категории: Events › Event Object
Определяет тип события.
Возвращает: Строка.
Категории: Events › Event Object
Для событий от клавиатуры и кнопок мыши определяет, какая клавиша или кнопка вызвала событие.
Возвращает: Строка.
Категории: Events › Form Events , Forms
Устанавливает (или вызывает) обработчики JavaScript события focus (когда элемент получает фокус ввода) для всех элементов набора jQuery.
Возвращает: Объект (набор jQuery).
Категории: Events › Keyboard Events , Events › Mouse Events
Устанавливает (или вызывает) обработчики JavaScript события focusin (когда любой дочерний элемент получает фокус ввода) для всех элементов набора jQuery.
Возвращает: Объект (набор jQuery).
Категории: Events › Keyboard Events , Events › Mouse Events
Устанавливает (или вызывает) обработчики JavaScript события focusout (когда любой дочерний элемент теряет фокус ввода) для всех элементов набора jQuery.
Возвращает: Объект (набор jQuery).
Категории: Events › Mouse Events
Устанавливает обработчики JS событий mouseenter (указатель мыши попадает в область, покрытую элементом) и mouseleave (при выходе за ее пределы) для всех элементов набора jQuery.
Возвращает: Объект (набор jQuery).
Категории: Events › Keyboard Events
Устанавливает (или вызывает) обработчики JavaScript события keydown (когда нажата клавиша на клавиатуре) для всех элементов набора jQuery. Актуально для элементов формы и <body>.
Возвращает: Объект (набор jQuery).
Категории: Events › Keyboard Events
Устанавливает (или вызывает) обработчики JavaScript события keypress, когда последовательно нажата (keydown) и отпущена (keyup) клавиша на клавиатуре, для всех элементов набора jQuery.
Возвращает: Объект (набор jQuery).
Категории: Events › Keyboard Events
Устанавливает (или вызывает) обработчики JavaScript события keyup (когда отпущена клавиша на клавиатуре) для всех элементов набора jQuery. Актуально для элементов формы и <body>.
Возвращает: Объект (набор jQuery).
Это не окончательный список в данной категории.
Раздел jQuery API наполняется. Приносим извинения за неудобства.
Method / Property | Description |
---|---|
bind() | Deprecated in version 3.0. Use the on() method instead. Attaches event handlers to elements |
blur() | Attaches/Triggers the blur event |
change() | Attaches/Triggers the change event |
click() | Attaches/Triggers the click event |
dblclick() | Attaches/Triggers the double click event |
delegate() | Deprecated in version 3.0. Use the on() method instead. Attaches a handler to current, or future, specified child elements of the matching elements |
die() | Removed in version 1.9. Removes all event handlers added with the live() method |
error() | Removed in version 3.0. Attaches/Triggers the error event |
event.currentTarget | The current DOM element within the event bubbling phase |
event.data | Contains the optional data passed to an event method when the current executing handler is bound |
event.delegateTarget | Returns the element where the currently-called jQuery event handler was attached |
event.isDefaultPrevented() | Returns whether event.preventDefault() was called for the event object |
event.isImmediatePropagationStopped() | Returns whether event.stopImmediatePropagation() was called for the event object |
event.isPropagationStopped() | Returns whether event.stopPropagation() was called for the event object |
event.namespace | Returns the namespace specified when the event was triggered |
event.pageX | Returns the mouse position relative to the left edge of the document |
event.pageY | Returns the mouse position relative to the top edge of the document |
event.preventDefault() | Prevents the default action of the event |
event.relatedTarget | Returns which element being entered or exited on mouse movement. |
event.result | Contains the last/previous value returned by an event handler triggered by the specified event |
event.stopImmediatePropagation() | Prevents other event handlers from being called |
event.stopPropagation() | Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event |
event.target | Returns which DOM element triggered the event |
event.timeStamp | Returns the number of milliseconds since January 1, 1970, when the event is triggered |
event.type | Returns which event type was triggered |
event.which | Returns which keyboard key or mouse button was pressed for the event |
focus() | Attaches/Triggers the focus event |
focusin() | Attaches an event handler to the focusin event |
focusout() | Attaches an event handler to the focusout event |
hover() | Attaches two event handlers to the hover event |
keydown() | Attaches/Triggers the keydown event |
keypress() | Attaches/Triggers the keypress event |
keyup() | Attaches/Triggers the keyup event |
live() | Removed in version 1.9. Adds one or more event handlers to current, or future, selected elements |
load() | Removed in version 3.0. Attaches an event handler to the load event |
mousedown() | Attaches/Triggers the mousedown event |
mouseenter() | Attaches/Triggers the mouseenter event |
mouseleave() | Attaches/Triggers the mouseleave event |
mousemove() | Attaches/Triggers the mousemove event |
mouseout() | Attaches/Triggers the mouseout event |
mouseover() | Attaches/Triggers the mouseover event |
mouseup() | Attaches/Triggers the mouseup event |
off() | Removes event handlers attached with the on() method |
on() | Attaches event handlers to elements |
one() | Adds one or more event handlers to selected elements. This handler can only be triggered once per element |
$.proxy() | Takes an existing function and returns a new one with a particular context |
ready() | Specifies a function to execute when the DOM is fully loaded |
resize() | Attaches/Triggers the resize event |
scroll() | Attaches/Triggers the scroll event |
select() | Attaches/Triggers the select event |
submit() | Attaches/Triggers the submit event |
toggle() | Removed in version 1.9. Attaches two or more functions to toggle between for the click event |
trigger() | Triggers all events bound to the selected elements |
triggerHandler() | Triggers all functions bound to a specified event for the selected elements |
unbind() | Deprecated in version 3.0. Use the off() method instead. Removes an added event handler from selected elements |
undelegate() | Deprecated in version 3.0. Use the off() method instead. Removes an event handler to selected elements, now or in the future |
unload() | Removed in version 3.0. Attaches an event handler to the unload event |
событий | Документация по jQuery API
Прикрепите обработчик к событию для элементов.
Привяжите обработчик события к событию JavaScript «размытия» или инициируйте это событие для элемента.
Привяжите обработчик события к событию JavaScript «изменить» или инициируйте это событие для элемента.
Привяжите обработчик события к событию JavaScript «щелчок» или инициируйте это событие для элемента.
Привяжите обработчик события к событию JavaScript «contextmenu» или инициируйте это событие для элемента.
Привяжите обработчик события к событию JavaScript «dblclick» или инициируйте это событие для элемента.
Прикрепите обработчик к одному или нескольким событиям для всех элементов, которые соответствуют селектору, сейчас или в будущем, на основе определенного набора корневых элементов.
Удалите обработчики событий, ранее прикрепленные с помощью .live () из элементов.
Привяжите обработчик события к событию JavaScript «ошибка».
Текущий элемент DOM в фазе восходящей цепочки событий.
Необязательный объект данных, передаваемых методу события при привязке текущего выполняющегося обработчика.
Элемент, к которому был прикреплен вызываемый в данный момент обработчик событий jQuery.
Возвращает, вызывался ли когда-либо event.preventDefault () для этого объекта события.
Возвращает, вызывался ли когда-либо event.stopImmediatePropagation () для этого объекта события.
Возвращает, вызывался ли когда-либо event.stopPropagation () для этого объекта события.
Указывает, была ли нажата клавиша META при возникновении события.
Пространство имен, указанное при запуске события.
Положение мыши относительно левого края документа.
Положение мыши относительно верхнего края документа.
Если этот метод вызывается, действие события по умолчанию не запускается.
Другой элемент DOM, участвующий в событии, если таковой имеется.
Последнее значение, возвращенное обработчиком события, которое было инициировано этим событием, если значение не было неопределенным.
Запрещает выполнение остальных обработчиков и предотвращает всплытие события в дереве DOM.
Предотвращает всплытие события в дереве DOM, предотвращая получение уведомления о событии родительскими обработчиками.
Элемент DOM, инициировавший событие.
Разница в миллисекундах между временем создания браузером события и 1 января 1970 года.
Описывает характер события.
Для событий клавиш или мыши это свойство указывает конкретную нажатую клавишу или кнопку.
Привяжите обработчик события к событию JavaScript «focus» или инициируйте это событие для элемента.
Привяжите обработчик события к событию «focusin».
Привяжите обработчик события к событию JavaScript «focusout».
Привяжите один или два обработчика к согласованным элементам, которые будут выполняться, когда указатель мыши входит в элементы и покидает их.
Удерживает или отменяет выполнение события готовности jQuery.
Принимает функцию и возвращает новую, которая всегда будет иметь определенный контекст.
Объект, похожий на обещание (или «thenable»), который разрешается, когда документ готов.
Привяжите обработчик события к событию JavaScript «keydown» или инициируйте это событие для элемента.
Привяжите обработчик события к событию JavaScript «нажатие клавиши» или инициируйте это событие для элемента.
Привяжите обработчик события к событию JavaScript «keyup» или инициируйте это событие для элемента.
Прикрепите обработчик событий для всех элементов, которые соответствуют текущему селектору, сейчас и в будущем.
Привяжите обработчик события к событию «load» JavaScript.
Привяжите обработчик события к событию JavaScript «mousedown» или инициируйте это событие для элемента.
Привяжите обработчик события, который будет запускаться, когда мышь входит в элемент, или вызовите этот обработчик для элемента.
Привязать обработчик события, который запускается, когда указатель мыши покидает элемент, или запускать этот обработчик для элемента.
Привяжите обработчик события к событию JavaScript «mousemove» или инициируйте это событие для элемента.
Привяжите обработчик события к событию JavaScript «mouseout» или инициируйте это событие для элемента.
Привяжите обработчик события к событию JavaScript «наведение курсора» или инициируйте это событие для элемента.
Привяжите обработчик события к событию JavaScript «mouseup» или инициируйте это событие для элемента.
Прикрепите функцию обработчика событий для одного или нескольких событий к выбранным элементам.
Прикрепите обработчик к событию для элементов.Обработчик выполняется не более одного раза для каждого элемента для каждого типа события.
Укажите функцию, которая будет выполняться при полной загрузке модели DOM.
Привяжите обработчик события к событию JavaScript «изменения размера» или инициируйте это событие для элемента.
Привяжите обработчик событий к событию «прокрутки» JavaScript или инициируйте это событие для элемента.
Привяжите обработчик события к событию «select» JavaScript или инициируйте это событие для элемента.
Привяжите обработчик события к событию «submit» JavaScript или инициируйте это событие для элемента.
Привяжите два или более обработчика к совпадающим элементам, которые будут выполняться поочередно при щелчке мышью.
Выполняет все обработчики и поведения, прикрепленные к совпадающим элементам для данного типа события.
Выполняет все обработчики, прикрепленные к элементу для события.
Удалите из элементов ранее прикрепленный обработчик событий.
Удаляет обработчик из события для всех элементов, которые соответствуют текущему селектору, на основе определенного набора корневых элементов.
Привяжите обработчик события к событию «выгрузить» JavaScript.
Метод / свойство | Описание |
---|---|
привязка () | Не рекомендуется в версии 3.0. Использовать on () вместо этого. Присоединяет обработчики событий к элементам |
размытие () | Присоединяет / запускает событие размытия |
изменить () | Присоединяет / запускает событие изменения |
нажмите () | Присоединяет / запускает событие клика |
dblclick () | Присоединяет / запускает событие двойного щелчка |
делегат () | Не рекомендуется в версии 3.0. Используйте on () вместо этого. Присоединяет обработчик к текущему или будущему указанному дочернему элементу элементы согласующих элементов |
матрица () | Удалено в версии 1.9. Удаляет все обработчики событий, добавленные с помощью метода live () |
ошибка () | Удалено в версии 3.0. Присоединяет / запускает событие ошибки |
event.currentTarget | Текущий элемент DOM в фазе восходящей цепочки событий |
событие.данные | Содержит необязательные данные, передаваемые методу события, когда текущий выполняющий обработчик привязан |
event.delegateTarget | Возвращает элемент, к которому был прикреплен вызываемый в данный момент обработчик событий jQuery. |
event.isDefaultPrevented () | Возвращает, был ли вызван event.preventDefault () для объекта события |
event.isImmediatePropagationStopped () | Возвращает ли событие.stopImmediatePropagation () был вызван для объекта события |
event.isPropagationStopped () | Возвращает, был ли вызван event.stopPropagation () для объекта события |
event.namespace | Возвращает пространство имен, указанное при запуске события |
event.pageX | Возвращает положение мыши относительно левого края документа |
event.pageY | Возвращает положение мыши относительно верхнего края документа |
событие.preventDefault () | Запрещает действие по умолчанию для события |
event.relatedTarget | Возвращает, какой элемент вводится или выводится при движении мыши |
событие. Результат | Содержит последнее / предыдущее значение, возвращенное обработчиком события. запускается указанным событием |
event.stopImmediatePropagation () | Запрещает вызов другим обработчикам событий |
событие.stopPropagation () | Предотвращает всплытие события в дереве DOM, предотвращая любые родительские обработчики от уведомления о событии |
event.target | Возвращает, какой элемент DOM вызвал событие |
event.timeStamp | Возвращает количество миллисекунд с 1 января 1970 г., при срабатывании события |
тип события | Возвращает, какой тип события был инициирован |
событие.который | Возвращает, какая клавиша клавиатуры или кнопка мыши была нажата для события |
фокус () | Присоединяет / запускает событие фокуса |
фокус () | Присоединяет обработчик события к событию focusin |
фокусировка () | Присоединяет обработчик события к событию focusout |
наведение () | Присоединяет два обработчика событий к событию зависания |
клавиша вниз () | Присоединяет / запускает событие нажатия клавиши |
нажатие клавиши () | Присоединяет / запускает событие нажатия клавиши |
клавиатура () | Присоединяет / запускает событие keyup |
вживую () | Удалено в версии 1.9. Добавляет один или несколько обработчиков событий к текущим или будущим выбранным элементам |
нагрузка () | Удалено в версии 3.0. Присоединяет обработчик события к событию загрузки |
mousedown () | Присоединяет / запускает событие mousedown |
mouseenter () | Присоединяет / запускает событие mouseenter |
мышь () | Присоединяет / запускает событие mouseleave |
mousemove () | Присоединяет / запускает событие mousemove |
mouseout () | Присоединяет / запускает событие mouseout |
наведение курсора мыши () | Присоединяет / запускает событие наведения указателя мыши |
мышь () | Присоединяет / запускает событие mouseup |
выкл. () | Удаляет обработчики событий, прикрепленные с помощью метода on () |
по () | Присоединяет обработчики событий к элементам |
один () | Добавляет один или несколько обработчиков событий к выбранным элементам.Этот обработчик может быть только срабатывает один раз на элемент |
$ .прокси () | Принимает существующую функцию и возвращает новую с определенным контекстом |
готово () | Задает функцию, выполняемую при полной загрузке модели DOM |
изменить размер () | Присоединяет / запускает событие изменения размера |
свиток () | Присоединяет / запускает событие прокрутки |
выберите () | Присоединяет / запускает событие выбора |
отправить () | Присоединяет / запускает событие отправки |
переключатель () | Удалено в версии 1.9. Добавляет две или более функций для переключения между событием щелчка | .
триггер () | Запускает все события, привязанные к выбранным элементам |
Пусковой механизм () | Запускает все функции, связанные с указанным событием для выбранных элементов |
отвязать () | Не рекомендуется в версии 3.0. Использовать off () вместо этого. Удаляет добавленный обработчик событий из выбранных элементов |
без делегатов () | Не рекомендуется в версии 3.0. Используйте off () вместо этого. Удаляет обработчик событий для выбранных элементов, сейчас или в будущем |
выгрузить () | Удалено в версии 3.0. Присоединяет обработчик события к событию выгрузки |
События | Документация по jQuery Mobile API
Событие, указывающее на то, что загрузка jQuery Mobile завершена.
Событие оболочки для popstate
Событие портретной / альбомной ориентации устройства
Срабатывает дважды во время цикла смены страницы: сначала перед любой загрузкой или переходом страницы, а затем после успешного завершения загрузки страницы, но до того, как история браузера была изменена в процессе навигации.
Запускается на инициализируемой странице до того, как произойдет автоинициализация большинства плагинов.
Срабатывает на «fromPage», от которой мы переходим, до того, как начнется фактическая анимация перехода.
Запускается перед выполнением любого запроса на загрузку.
Запускается на странице «toPage», к которой мы переходим, до того, как начнется фактическая анимация перехода.
Это событие запускается после того, как запрос changePage () завершил загрузку страницы в DOM и все анимации перехода страницы завершились.
Вызывается, когда запрос changePage () не может загрузить страницу.
Срабатывает, когда страница была создана в DOM (с помощью ajax или другим способом) и после того, как все виджеты получили возможность улучшить содержащуюся разметку.
Запускается на странице «fromPage» после завершения анимации перехода.
Срабатывает на инициализируемой странице после выполнения инициализации.
Вызывается после успешной загрузки страницы и вставки в DOM.
Срабатывает, если запрос загрузки страницы завершился неудачно.
Запускается непосредственно перед попыткой фреймворка удалить внешнюю страницу из модели DOM.
Запускается на странице «toPage» после завершения анимации перехода.
Срабатывает при начале прокрутки.
Срабатывает по окончании прокрутки.
Срабатывает, когда горизонтальное перетаскивание на 30 пикселей или более (и менее 30 пикселей по вертикали) происходит в течение 1 секунды.
Срабатывает, когда происходит событие смахивания влево.
Срабатывает, когда происходит событие смахивания, движущееся в правильном направлении.
Срабатывает после быстрого и полного касания.
Срабатывает после длительного полного касания.
Ограничивает скорость выполнения обработчиков событий изменения размера.
Запускается компонентами в структуре, которые динамически отображают / скрывают содержимое.
Виртуализированный обработчик событий щелчка.
Виртуализированный обработчик события mousecancel.
Виртуализированный обработчик событий mousedown.
Виртуализированный обработчик событий mousemove.
Виртуализированный обработчик событий mouseout.
Виртуализированный обработчик событий наведения указателя мыши.
Виртуализированный обработчик событий mouseup.
событий от jquery до dom-событий — npm
Прослушивание «событий» jQuery с помощью vanilla JS
$ (document) .trigger (‘fart’) генерирует $ fart DOM CustomEvent
- Library Agnostic : разработан для Stimulus, но случайно работает с библиотеками последнего поколения, такими как React
- Простой : всего две функции, и одна из них является дополнительной
- Tiny : едва ли можно квалифицировать как библиотеку всего с 30 LOC
- Mutation-First : возвращает обработчик событий, который должен быть освобожден во время
disconnect ()
- Zero Dependencies : разумно использует окно
.
$, чтобы избежать фиксации jQuery - Turbolinks : совместимость с событиями жизненного цикла Turbolinks
- Двунаправленный : тихо поддерживает отправку событий DOM в jQuery
- Лицензия MIT : бесплатно для личного и коммерческого использования
Вы можете попробовать это сейчас на CodePen или, что еще лучше, клонировать образец проекта Rails, чтобы поэкспериментировать в контексте «сначала мутации» с помощью Stimulus.
Проект Rails называется jboo .Не зачитывай имя.
Настройка
Во-первых, правильная музыка важна для создания правильного контекста.
Вам не обязательно слушать музыку, но ваша конфигурация транспилятора почти наверняка не пройдет проверку на ворсинки, если вы не слушаете « In Harmony New Found Freedom » группы The Swirlies из их альбома 1996 года «They Spent their Wild Youthful» Дни в сияющем мире салонов », пока вы интегрируете эту библиотеку.
Затем убедитесь, что вы загрузили jQuery и эту библиотеку в свой проект.
пряжа установить jquery jquery-events-to-dom-events
Эта библиотека предполагает, что jQuery доступен как $
для глобального объекта window
. Вы можете проверить это, открыв Console Inspector вашего браузера и набрав window. $
. Вы должны увидеть что-то вроде:
ƒ jQuery (селектор, контекст)
Если вы работаете в Rails и $
недоступен, попробуйте изменить конфигурацию / webpack / environment.js
как это:
const {environment} = require ('@ rails / webpacker')
const webpack = require ('webpack')
environment.plugins.prepend (
'Provide',
new webpack.ProvidePlugin ( {
$: 'jquery / src / jquery',
jQuery: 'jquery / src / jquery'
})
)
module.exports = environment
Использование
В самой базовой конфигурации вы:
-
импорт {делегат} из 'jquery-events-to-dom-events'
- Вызов делегата
(eventName)
для каждого события jQuery, которое вы хотите захватить. - Настройте прослушиватели событий DOM для этих событий, добавив $ к имени события .
Допустим, вы хотите ответить пользователю, закрывающему модальное окно Bootstrap:
импорт {делегат} из 'jquery-events-to-dom-events'
делегат ('hidden.bs.modal')
document.addEventListener ('$ hidden.bs.modal', () => console .log ('Модальное окно закрыто!'))
Может быть. Сделай бутерброд — ты его заслужил.
Примечание : Эта библиотека использует механизм для захвата событий jQuery с помощью прослушивателей событий jQuery, а затем создания событий DOM, которые содержат всю ту же информацию, что и оригинал. Фактически невозможно перехватить события jQuery с помощью стандартного обработчика событий , потому что реализация jQuery является проприетарной и нетривиальной.
Технически эта библиотека повторяет события . Квантовая запутанность событий? Идеальный! Отправим его.
Ajax и случай дополнительных параметров
Некоторые события, такие как обратные вызовы jQuery Ajax, возвращаются с дополнительными параметрами, и для этих исключений необходимо указать второй параметр, определяющий массив строк, представляющих эти параметры. Первым элементом этого массива всегда должен быть , событие
.
Событие | Параметры |
---|---|
ajax: успех | [‘событие’, ‘данные’, ‘статус’, ‘xhr’] |
ajax: ошибка | [‘событие’, ‘xhr’, ‘статус’, ‘ошибка’] |
ajax: полный | [‘событие’, ‘xhr’, ‘статус’] |
ajax: beforeSend | [‘событие’, ‘xhr’, ‘настройки’] |
ajax: отправить | [‘событие’, ‘xhr’] |
ajax: прервано: требуется | [‘событие’, ‘элементы’] |
ajax: прервано: файл | [‘событие’, ‘элементы’] |
Вы можете прослушивать уведомления о завершении запросов Ajax, например:
импорт {делегат} из 'jquery-events-to-dom-events'
делегат ('ajax: complete', ['event', 'xhr', 'status'])
документ.addEventListener ('$ ajax: complete', () => console.log ('Выполнен запрос Ajax!'))
Вы можете передавать параметры из ваших собственных событий jQuery в события DOM. Вам просто нужно дать каждому параметру имя, и эти параметры будут обрабатываться по порядку. Именованные параметры доступны через объект события detail
.
импортировать {делегат} из 'jquery-events-to-dom-events'
delegate ('birthday', ['event', 'beast'])
документ.addEventListener ('$ birthday', event => console.log ('день рождения получен как $ birthday из DOM', event.detail.beast))
window. $ (document) .trigger ('birthday', 666)
Первая мутация
Вы слышали шум. Теперь пришло время получить настоящий о том, как сделать ваш код идемпотентным. Если вы гордитесь качеством написанного кода, Stimulus упрощает структурирование вашей логики, чтобы она автоматически работала с Turbolinks и не пропускала утечку памяти, когда вы преобразовываете элементы DOM, которые уже не существуют, к которым все еще прикреплены прослушиватели событий.
Начнем с фрагмента HTML, который присоединяет контроллер стимула, называемый делегатом
, к DIV:
Этот контроллер стимула импортирует вторую функцию под названием abnegate
, которая освобождает делегированные вам события, пока происходит разрыв вашего компонента:
импорт {Контроллер} из 'стимула'
импорт {делегат, отказ} из 'jquery-events-to-dom-events'
const eventHandler = () => console.log ('jquery получен как $ jquery из DOM')
класс экспорта по умолчанию расширяет контроллер {
connect () {
this.delegate = delegate ('jquery')
document.addEventListener ('$ jquery' , EventHandler)
}
disconnect () {
abnegate ('jquery', this.delegate)
document.removeEventListener ('$ jquery', eventHandler)
}
trigger () {
window. $ (документ).триггер ('jquery')
}
}
Мы используем Stimulus, чтобы связать событие нажатия кнопки с вызовом метода triggerjQ
контроллера делегата
. Вы также можете вызвать $ (document) .trigger ('test')
из Console Inspector, не нажимая кнопку.
Важным выводом является то, что функция делегата
возвращает обработчик событий jQuery, который может быть сохранен как свойство экземпляра контроллера.Затем этот обработчик передается обратно в функцию abnegate
, чтобы jQuery мог освободить свой собственный прослушиватель событий для элементов, которые вскоре могут быть удалены из DOM.
Только строго придерживаясь хороших привычек, связанных с подключением слушателей во время connect ()
и их удалением во время disconnect ()
, мы можем быть уверены, что выпускаем ссылки должным образом. Это соглашение помогает нам устранить странные сбои и побочные эффекты, возникающие при смешивании устаревших компонентов jQuery с Turbolinks.Они были написаны для того времени, когда было одно событие загрузки страницы, и щелчки запускали операции обновления страницы.
Помните: если вы определяете обработчики событий с анонимными функциями, передаваемыми слушателю, вы не можете удалить их позже. Только ты можешь предотвратить лесные пожары.
Отправка событий DOM в jQuery
Важно соблюдать баланс между самоуверенностью и наложением идеологических ограничений. Хотя эта библиотека определенно предназначена для того, чтобы действовать как мост, чтобы помочь разработчикам jQuery перейти на использование ванильного JS, в какой-то момент я понял, что если я не упросту отправку событий DOM в jQuery, люди выберут библиотека, которая делает.
Для захвата событий DOM внутри вашего кода jQuery вы, по сути, хотите инвертировать все предыдущие инструкции. Функции делегирования и отмены принимают имена событий, которые начинаются с символа $
, и это сообщает библиотеке, что нужно прослушивать события DOM и запускать их как события jQuery.
импортировать {делегат} из 'jquery-events-to-dom-events'
const eventHandler = (_, detail) => console.log ('$ wedding получена как свадьба jQuery', подробно)
this.делегат = делегат ('$ wedding')
document.dispatchEvent (new CustomEvent ('$ wedding', {detail: 666}))
Хотя синтаксис очень похож, существует значительная разница в способе передачи событий в событие jQuery. Конструктор CustomEvent может принимать объект как необязательный второй параметр, и ключ в этом объекте должен иметь значение , деталь
. Интересно, что значение detail
может быть практически любым — например, 666 выше — но чаще всего это объект с парами ключ / значение в нем.
Содействие
Сообщения об ошибках и запросы на включение приветствуются.
Лицензия
Этот пакет доступен как открытый исходный код в соответствии с условиями лицензии MIT.
Как подготовиться к обновлению WordPress до jQuery
Команда WordPress Core находится в процессе обновления jQuery. Итак … какое тебе дело?
Многие сайты, темы и плагины по-прежнему полагаются на устаревшие версии jQuery, и их необходимо будет обновить вместе с WordPress 5.7, чтобы оставаться в актуальном состоянии. Если вы этого не сделаете, вы можете столкнуться с неработающим веб-сайтом.
Мы составили руководство, чтобы объяснить обновление, рассказать, чего ожидать, и поделиться советами по предотвращению проблем, прежде чем вы нажмете кнопку «обновить».
Что такое jQuery?
jQuery — это библиотека JavaScript. Многие функции WordPress основаны на jQuery, и многие разработчики WordPress настраивают jQuery для своих собственных тем и плагинов.
Почему обновление?
В течение многих лет WordPress использовал устаревшую версию jQuery.WordPress 5.7 будет включать обновление jQuery, которое принесет много интересных преимуществ. Обновление сделает WordPress более безопасным и эффективным. Но это также означает, что некоторые функции на вашем сайте могут работать не так, как вы ожидаете.
Это обновление работало над последними выпусками WordPress. Команда WordPress Core очень серьезно относится к этому и выполняет тщательную и целенаправленную работу. Мы даем им понять и всю работу, которую они делают. 👏
Когда это происходит?
WordPress 5.7 планируется выпустить 9 марта 2021 года. Тем не менее, расписание может измениться. Это первый крупный выпуск 2021 года, поэтому все захотят сделать это правильно.
Что это означает для плагинов календаря событий?
Календарь событий и билеты событий готовы к обновлению на 100%. Мы отслеживаем это обновление с самого начала и следим за тем, чтобы ваш календарь и мероприятия были готовы к работе после обновления.
Но это может не относиться к вашей теме или ко всем другим плагинам, установленным на вашем сайте.Подобные большие изменения имеют тенденцию происходить неравномерно.
Как я могу подготовить свой сайт?
Вам не нужно быть разработчиком, чтобы убедиться, что ваш сайт готов к обновлению jQuery. Вот несколько вещей, которые вы можете сделать, чтобы подготовиться к WordPress 5.7.
Ознакомьтесь с изменениями
jQuery опубликовал исчерпывающее руководство по обновлению, включая раздел, посвященный модулю jQuery Migrate и его использованию для тестирования.
Создать тестовую площадку
Мы не можем достаточно подчеркнуть это: перед установкой WordPress 5.7, тест в безопасной среде разработки.
Это можно сделать двумя способами:
- Создайте поддомен , например
test.your-site.com
, и создайте на нем копию своего сайта. - Создайте локальную версию своего сайта для тестирования. «Локальный» — это просто модное слово для запуска вашего сайта на вашем компьютере, а не на реальном сервере. Local by Flywheel, DevKinsta и MAMP — отличные варианты.
Тестирование обновления перед его установкой на ваш действующий веб-сайт — ключ к предотвращению любых проблем.Этот шаг может уберечь вас от непреднамеренного взлома вашего сайта при обновлении.
Используйте помощник по включению jQuery Migration
Команда WordPress создала этот плагин, чтобы заранее выявлять потенциальные проблемы. Он также может вернуть ваш сайт к старой версии jQuery, если обновленная версия вызывает проблемы.
Этот плагин — временное исправление. Это не должно быть долгосрочным решением, позволяющим продолжать использовать старую версию jQuery. Считайте это патчем для выявления проблем и временного отключения последней версии jQuery, если вам нужно что-то исправить.
Плагин добавляет в панель администратора WordPress помощника с предупреждениями о потенциальных проблемах на любой просматриваемой странице.
Если вы видите критические изменения, есть возможность восстановить устаревшую версию jQuery.
Еще один приятный момент в плагине? автоматически перейдет на устаревшую версию jQuery , если обнаружит проблему при первом посещении сайта. Администратор сайта получит уведомление по электронной почте о переходе на более раннюю версию с подробной информацией о проблеме.
Свяжитесь с разработчиками своей темы и плагина
Если при тестировании сайта у вас возникнут проблемы с темой или плагинами, обратитесь к разработчикам, создавшим эти плагины, и сообщите им. Вы можете сделать это, запустив новую ветку на форуме поддержки WordPress.org, чтобы сообщить о проблеме, или участвуя в существующей ветке, сообщив им, что вы испытываете то же самое.
Тестирование такого большого изменения — это большая работа. Предупреждать разработчиков с подробными примечаниями, включая описание проблемы и шаги по ее воссозданию, очень ценно и ценно.
Помогите! Я обновился до WordPress 5.7, и теперь мой календарь испорчен.
Не паникуйте! Вот несколько шагов, чтобы вернуть вещи в нужное русло.
Убедитесь, что ваши версии WordPress и Календарь событий синхронизированы.
Календарь событий разработан для работы с WordPress 5.7 прямо из коробки. Если вы используете последнюю версию Календаря событий со старой версией WordPress, вы можете увидеть странные результаты.
Проверьте версию каждого из наших плагинов, которые вы используете.Убедитесь, что у вас установлены последние версии всех наших плагинов, если вы используете WordPress 5.7 и выше.
Попробуйте помощник по миграции jQuery
Если версии jQuery на вашем сайте не синхронизированы, плагин jQuery Migration Helper снова пригодится. Этот плагин возвращает все обратно к более старой версии jQuery , если необходимо, чтобы все снова заработало. Это также помогает определить корень проблемы.
Переустановите старую версию WordPress
Если вы пытались обновить все, но календарь все равно не работает, попробуйте понизить версию WordPress и наших плагинов, чтобы вернуть все в исходное состояние.Это означает установку WordPress 5.6 или ниже и последнюю версию наших плагинов, предшествующую выпуску WordPress 5.7.
Вы можете получить доступ ко всем предыдущим версиям WordPress с их сайта и ко всем предыдущим версиям наших плагинов из своей учетной записи календаря событий. Вам действительно нужно будет переустановить WordPress вручную. Прежде чем вы это сделаете, мы рекомендуем сначала удалить папку wp-content
из только что загруженной копии WordPress. Это предотвратит потерю тем, плагинов и т. Д.из версии WordPress, которая уже установлена на вашем сервере.
Это не решит проблему полностью, но вернет вас туда, где вы были до обновления jQuery.
Свяжитесь с нами
После того, как вы использовали jQuery Migration Helper для обнаружения проблем и временно понизили все версии, поделитесь с нами своими заметками при открытии заявки в службу поддержки. Это даст нам фору, чтобы во всем разобраться, и поможет вам как можно лучше.
Поделитесь с нами информацией о вашей системе, пока вы это делаете.Это дает нам еще больше контекста для еще более быстрой поддержки. 😎
Завершение
WordPress 5.7 — большой выпуск, и он требует некоторой работы с вашей стороны. Но оно того стоит: это обновление — большое улучшение для WordPress и производительности вашего сайта.
Команда WordPress позаботилась о том, чтобы все прошло как можно более гладко. Будут некоторые икоты, но быть готовым заранее и знать, чего ожидать, — лучший способ настроить себя на успех.
Дополнительная литература
событий JQuery: упражнения, практика, решение
jQuery Events [24 упражнения с решением]
[ Внизу страницы доступен редактор для написания и выполнения сценариев.]1. Прикрепите событие щелчка и двойного щелчка к элементу
. Перейти в редактор
Пример данных:
HTML:
Нажми меня!
Для одиночного щелчка добавьте следующий абзац:
Это событие щелчка
Для двойного щелчка добавьте следующий абзац:
Это событие двойного щелчка
Щелкните меня, чтобы увидеть решение
2. Добавьте функцию к событию размытия. Событие размытия происходит, когда следующее поле Field1 теряет фокус. Перейти в редактор
Примеры данных:
<форма>
Щелкните меня, чтобы увидеть решение
3. Добавить элемент
с текстовым сообщением при изменении поля .Заходим в редактор
Sample Data:
<имя формы = 'demo_form'> Имя:
Фамилия:
Щелкните меня, чтобы увидеть решение
4. Скрыть все заголовки на странице при нажатии на них. Заходим в редактор
Sample Data :
Заголовок-1
Заголовок-2
Заголовок-3
>
Щелкните меня, чтобы увидеть решение
5. Дважды щелкните абзац, чтобы изменить цвет фона. Перейти в редактор
Sample Data :
HTML-код:
Дважды щелкните здесь, чтобы изменить цвет фона.
Код CSS:
p {
Фон: синий;
цвет: белый;
}
p.dbl {
фон: желтый;
цвет: черный;
}
Щелкните меня, чтобы увидеть решение
6. Щелкните заголовок, чтобы добавить еще один Перейти в редактор
Примеры данных:
Нажмите меня, чтобы добавить еще!
Щелкните меня, чтобы увидеть решение
7. Напишите код jQuery для поиска данных, переданных с помощью метода on () для каждого элемента
. Зайти в редактор
Щелкните меня, чтобы увидеть решение
8. Измените цвет фона элемента
Sample Data :
Нажмите кнопку, чтобы изменить цвет фона этого абзаца.
Щелкните меня, чтобы увидеть решение
9. Найдите положение указателя мыши относительно левого и верхнего краев документа Перейти в редактор
Щелкните меня, чтобы увидеть решение
10. Запретить людям вводить текст в первое поле ввода (идентификатор пользователя). Заходим в редактор
Пример данных :
Идентификатор пользователя:
Пароль:
Щелкните меня, чтобы увидеть решение
11. Отмените действие по умолчанию (щелчок) для первого URL-адреса. Заходим в редактор
Пример данных :
Нажмите кнопку, чтобы изменить цвет фона этого абзаца.
Щелкните меня, чтобы увидеть решение
12. Возвращает предыдущие значения настраиваемых событий. Заходим в редактор
Пример данных :
Щелкните меня, чтобы увидеть решение
13. Отображение имени тега при нажатии. Заходим в редактор
Пример данных :
Заголовок1
Заголовок2
Абзац
Щелкните меня, чтобы увидеть решение
14. Подсчитать количество миллисекунд между двумя событиями щелчка в абзаце. Заходим в редактор
Пример данных :
Заголовок1
Заголовок2
Абзац
Щелкните меня, чтобы увидеть решение
15. Отображение типа события при щелчке по всем элементам h2.Заходим в редактор
Пример данных :
Это header1
Это еще один заголовок1
Это header2
Это header3
Щелкните меня, чтобы увидеть решение
16. Отображение нажатой клавиши клавиатуры в текстовом поле :. Заходим в редактор
Пример данных :
Введите свое имя:
Щелкните меня, чтобы увидеть решение
17. Прикрепите функцию к событию фокуса. Событие фокуса происходит (отображается сообщение о текстовом поле), когда поле получает фокус. Заходим в редактор
Пример данных :
Введите свое имя
Введите свою фамилию
Щелкните меня, чтобы увидеть решение
18. Установите фокус на первое поле ввода. Заходим в редактор
Пример данных :
Имя:
Фамилия:
Щелкните меня, чтобы увидеть решение
19. Проверить, есть ли у входа фокус? Заходим в редактор
HTML-код:
Параграф
Код CSS для выделенного цвета:
<стиль> .сосредоточенный { фон: зеленый; }
Щелкните меня, чтобы увидеть решение
20. Установить цвет фона элемента, когда элемент (или любые элементы внутри него) получает фокус или теряет фокус. Заходим в редактор
HTML-код:
Имя:
Фамилия:
Код CSS для цвета фона ::
<стиль> .Focusin { фон: зеленый; } .focusedout { фон: синий; }
Щелкните меня, чтобы увидеть решение
21. Отображение имени тега элемента, по которому был выполнен щелчок. Заходим в редактор
HTML-код:
Это заголовок 2
Имя:
Фамилия:
Щелкните меня, чтобы увидеть решение
22. Подсчитайте количество определенных элементов. Заходим в редактор
HTML-код:
- Список - 1
- Список - 2
- Список - 3
Щелкните меня, чтобы увидеть решение
23. Показывать текст при срабатывании события mouseup и mousedown.Заходим в редактор
Щелкните меня, чтобы увидеть решение
24. Отображение ширины окна во время (или после) изменения его размера. Заходим в редактор
HTML-код:
Нажмите здесь и отпустите кнопку мыши.
Щелкните меня, чтобы увидеть решение
Еще впереди!
Не отправляйте здесь какие-либо решения вышеуказанных упражнений, если вы хотите внести свой вклад, перейдите на соответствующую страницу упражнения.
Живая демонстрация:
См. Pen common-jquery-core-упражнение от w3resource (@ w3resource) на CodePen.
пользовательских событий jQuery | BigBinary Blog
Следующий код был протестирован с jQuery 1.3.
Javascript — это взаимодействие. Когда происходит событие, значит, что-то должно произойти. Например, наведение, щелчок, фокус, наведение курсора и т. Д. — это базовые события, которые используются на регулярной основе. jQuery предоставляет метод bind для привязки действия к событию.Например, если мы хотим получать предупреждающее сообщение, когда мы нажимаем на ссылку, это можно сделать следующим образом.
1 $ ("a"). Bind ("click", function () {
2 алерта («Меня нажали»);
3});
CopyjQuery также позволяет разработчикам использовать настраиваемые события. Как это нам поможет, мы скоро увидим. Сначала давайте взглянем на простое приложение-календарь.
Это простой календарь на javascript, который в основном выполняет четыре задачи: визуализирует сам календарь, извлекает данные из API и обновляет календарь данными API, имеет возможность свертывать информацию о событиях и расширять информацию о событиях.
Код выглядит так.
1функция redrawForMonth (d) {
2 // бизнес-логика для отображения календаря
3 $ ("# month_calendar_umbrella"). UpdateCalendarWithAPIData ();
4 $ ("# month_calendar_umbrella"). ExpandAllEvents ();
5}
6
7function updateCalendarWithAPIData () {
8 // бизнес-логика для получения данных из API и добавления данных в соответствующую ячейку даты
9}
10
11function CollapseAllEvents () {
12 // бизнес-логика
13}
14
15функция ExpandAllEvents () {
16 // бизнес-логика
17}
КопироватьВ приведенном выше случае у нас есть четыре метода.Если заполнить всю реализацию и добавить вспомогательные методы, то в общей сложности у нас будет масса методов.
И постепенно станет трудно увидеть, какие методы работают с основным элементом month_calendar_umbrella
.
Давайте посмотрим на ту же функциональность, если она реализована с использованием пользовательских событий jQuery.
1 $ ("# month_calendar_umbrella")
2 .bind ("redrawForMonth", function (e, d) {})
3
4.bind ("updateCalendarWithAPIData", функция (e, d) {})
5
6.bind ("CollapseAllEvents", функция (e) {})
7
8 .bind ("ExpandAllEvents", функция (e) {});
КопироватьПервое отличие, которое вы заметите, заключается в том, насколько красиво выложены все возможные действия с основным элементом. В этом случае достаточно одного взгляда на код, чтобы понять, что над основным элементом можно выполнить четыре действия. Это было не так очевидно из первой версии кода.
В этом случае я привязываю к элементу такие события, как ‘redrawFroMonth’. Очевидно, что redrawForMonth не является собственным событием, таким как click или submit.Это то, что я имею в виду, говоря о привязке «настраиваемых событий» к элементам. В этом случае redrawForMonth — это настраиваемое событие.
Другая вещь, которая не так очевидна, — это смещение фокуса. Традиционное программирование на javascript слишком зациклено на элементах, которые нажимаются или отправляются, вызывая действие.