jQuery события | jQuery справочник
События клавиатуры
Метод | Описание |
---|---|
.keydown() | Привязывает JavaScript обработчик событий «keydown» (нажатие на любую клавишу клавиатуры), или запускает это событие на выбранный элемент. |
.keypress() | Привязывает JavaScript обработчик событий «keypress» (нажатие на любую клавишу клавиатуры кроме специальных — Alt, Ctrl, Shift, Esc, PrScr и тому подобные), или запускает это событие на выбранный элемент. |
.keyup() | Привязывает JavaScript обработчик событий «keyup» (нажатая клавиша была отпущена), или запускает это событие на выбранный элемент. |
События мыши
Метод | Описание |
---|---|
.click() | Привязывает JavaScript обработчик событий «click» (клик левой кнопкой мыши), или запускает это событие на выбранный элемент. |
.contextmenu() | Привязывает JavaScript обработчик событий «contextmenu» (вызов контекстного меню на элементе — клик правой кнопкой мыши), или запускает это событие на выбранный элемент. |
.dblclick() | Привязывает JavaScript обработчик событий «dblclick» (двойной клик левой кнопкой мыши), или запускает это событие на выбранный элемент. |
.hover() | Связывает один или два обработчика событий для элемента, которые будут выполнены, когда указатель мыши находится на элементе и при его отведении. |
.mousedown() | Привязывает JavaScript обработчик событий «mousedown» (нажатие кнопки мыши на элементе), или запускает это событие на выбранный элемент. |
.mouseenter() | Привязывает JavaScript обработчик событий «mouseenter» (срабатывает, когда указатель мыши заходит на элемент), или запускает это событие на выбранный элемент. |
.mouseleave() | Привязывает JavaScript обработчик событий «mouseleave» (срабатывает, когда указатель мыши выходит из элемента), или запускает это событие на выбранный элемент. |
.mousemove() | Привязывает JavaScript обработчик событий «mousemove» (срабатывает, когда указатель мыши перемещается внутри элемента), или запускает это событие на выбранный элемент. |
.mouseout() | Привязывает JavaScript обработчик событий «mouseout» (срабатывает, когда указатель мыши покидает элемент), или запускает это событие на выбранный элемент. |
.mouseover() | Привязывает JavaScript обработчик событий «mouseover» (срабатывает, когда указатель мыши входит в элемент), или запускает это событие на выбранный элемент. |
.mouseup() | Привязывает JavaScript обработчик событий «mouseup» (срабатывает, когда указатель мыши находится над элементом и кнопка мыши отпущена), или запускает это событие на выбранный элемент. |
События браузера
Метод | Описание |
---|---|
.resize() | Привязывает JavaScript обработчик событий «resize» (срабатывает при изменении размеров окна браузера), или запускает это событие на выбранный элемент. |
.scroll() | Привязывает JavaScript обработчик событий «scroll» (срабатывает при прокрутке элементов), или запускает это событие на выбранный элемент. |
События формы
Метод | Описание |
---|---|
.blur() | Привязывает JavaScript обработчик событий «blur» (потеря фокуса элементом), или запускает это событие на выбранный элемент. |
.change() | Привязывает JavaScript обработчик событий «change» (изменение элемента), или запускает это событие на выбранный элемент. Метод используется с элементами HTML формы. |
.focus() | Привязывает JavaScript обработчик событий «focus» (получение фокуса элементом), или запускает это событие на выбранный элемент. |
.focusin() | Привязывает JavaScript обработчик событий «focusin» (получение фокуса элементом, или любым вложенным элементом), или запускает это событие на выбранный элемент. Метод поддерживает всплывающие события (event bubbling). |
.focusout() | Привязывает JavaScript обработчик событий «focusout» (потеря фокуса элементом, или любым вложенным элементом), или запускает это событие на выбранный элемент. Метод поддерживает всплывающие события (event bubbling). |
.select() | Привязывает JavaScript обработчик событий «select» (срабатывает при выделении текста), или запускает это событие на выбранный элемент. Метод используется с элементом <input> (с текстовым типом type = «text») и элементом <textarea>. |
.submit() | Привязывает JavaScript обработчик событий «submit» (обработчик отправки формы), или запускает это событие на выбранный элемент. |
Присоединяемые события
Метод | Описание |
---|---|
$.proxy() | Принимает функцию и возвращает новую, которая всегда будет иметь определенный контекст выполнения. |
.off() | Позволяет удалить обработчик, или обработчики событий, присоединенные методом .on(). |
.on() | Приcоединяет для выбранных элементов функцию обработчика для одного или нескольких событий. |
.one() | Приcоединяет для выбранных элементов функцию обработчика, которая будет выполнена не более одного раза к каждому элементу по каждому типу событий. |
.trigger() | Позволяет выполнить все функции обработчики событий, присоединенные у выбранного элемента для данного типа события. |
.triggerHandler() | Позволяет вызвать все функции обработчики событий, присоединенные у выбранного элемента по указанному типу событий без вызова самого события. |
Свойства и методы объекта Event
jQuery скрывает различия реализации между браузерами, определяя свой собственный объект события. Большинство свойств исходного события копируются и нормализуются в новый объект события. Ниже представлены свойства и методы этого объекта:
Свойство / Метод | Описание |
---|---|
event.currentTarget | Определяет текущий элемент DOM, в котором в настоящий момент обрабатывается событие. |
event.data | Необязательный объект данных, передаваемый методу события, когда текущий обработчик события привязывается. |
event.delegateTarget | Возвращает элемент, к которому был прикреплен вызванный в данный момент обработчик события. Это свойство будет отличаться от свойства event.currentTarget только в том случае, если обработчик события делегирован, а не на прямую привязан к элементу. |
event.isDefaultPrevented() | Метод возвращает логическое значение true, если для этого объекта событий вызывался метод event.preventDefault() и false в обратном случае. |
event.isImmediatePropagationStopped() | Метод возвращает логическое значение true, если для этого объекта событий вызывался метод event. stopImmediatePropagation() и false в обратном случае. |
event.isPropagationStopped() | Метод возвращает логическое значение true, если для этого объекта событий вызывался метод event.stopPropagation() и false в обратном случае. |
event.metaKey | Содержит логическое значение, которое указывает на то, была ли нажата, или нет мета клавиша Сmd (Mac) / Windows (Windows), когда событие сработало. |
event.namespace | Соответствует пользовательскому пространству имён, определенному при срабатывании события (строковое значение). |
event.pageX | Позиция курсора мыши относительно левого края документа, или элемента. |
event.pageY | Позиция курсора мыши относительно верхнего края документа, или элемента. |
event.preventDefault() | Если этот метод вызывается, то действие события по умолчанию не будет срабатывать (отменяет действие события по умолчанию). |
event.relatedTarget | Соответствует другому элементу DOM, который участвует в событии, если таковой имеется. |
event.result | Содержит последнее значение, возвращаемое обработчиком события, которое было вызвано этим событием (если значение не было равно undefined). |
event.stopImmediatePropagation() | Прекращает дальнейшую передачу текущего события (предотвращает всплытие по дереву DOM) и останавливает цепочку вызова событий для текущего элемента. |
event.stopPropagation() | Прекращает дальнейшую передачу текущего события (предотвращает всплытие по дереву DOM). |
event.target | DOM элемент, который инициировал событие. |
event.timeStamp | Разница в миллисекундах между тем моментом, когда браузер создал событие и полуночи (Unix-время). |
event.type | Описывает тип события, которое было вызвано. |
event.which | В зависимости от типа события свойство указывает на определенную клавишу клавиатуры или кнопку мыши, которая была нажата пользователем. |
События jQuery
При помощи методов из этого раздела, Вы можете обработать любое событие, возникшее на странице, такие как перемещение курсора мыши, нажати кнопок на клавиатуре или загрузка документа. Эти методы позволяют работать как со стандартными событиях Javascript, так и с событиями предоставленными самой библиотекой jQuery.
Устанавливает обработчик события на выбранные элементы страницы.
События > События формы | Формы
Устанавливает обработчик потери фокуса, либо, запускает это событие.
События > События формы | Формы
Устанавливает обработчик изменения заданного элемента формы, либо, запускает это событие.
События > События мыши
Устанавливает обработчик «клика» мышью по элементу, либо, запускает это событие.
События > События мыши
Bind an event handler to the “contextmenu” JavaScript event, or trigger that event on an element.
События > События мыши
Устанавливает обработчик двойного «клика» мышью по элементу, либо, запускает это событие.
Устаревшие методы > Версия 3.0 | События > Прикрепление обработчиков
Устанавливает обработчик события на элементы, соответствующие заданному селектору.
Устаревшие методы > Версия 1.7 | События > Прикрепление обработчиков | Удаленные
У выбранных элементов страницы, удаляет обработчики событий, установленные методом live().
События > События браузера | Устаревшие методы > Версия 1.8 | Удаленные
Устанавливает обработчик ошибки при загрузке элементов (например отсутствие необходимой картинки на сервере).
События > События формы | Формы
Устанавливает обработчик получения фокуса, либо, запускает это событие.
События > События формы | Формы
Устанавливает обработчик получения фокуса самим элементом или одним из его дочерних.
События > События формы | Формы
Устанавливает обработчик потери фокуса элементом или одним из его дочерних.
События > События мыши
Устанавливает обработчик(и) двух событий: mouseenter и mouseleave.
События > События клавиатуры
Устанавливает обработчик перехода клавиши клавиатуры в нажатое состояние, либо, запускает это событие.
События > События клавиатуры
Устанавливает обработчик ввода символа с клавиатуры, либо, запускает это событие.
События > События клавиатуры
Устанавливает обработчик возвращения клавиши клавиатуры в ненажатое состояние, либо, запускает это событие.
Устаревшие методы > Версия 1.7 | События > Прикрепление обработчиков | Удаленные
Устанавливает обработчик событий на выбранные элементы страницы. Метод имеет одну важную особенность, отличающую его от bind(): если на страницу будут вставлены новые элементы, которые соответствуют текущему селектору, то они также будут реагировать на заданные события.
Устаревшие методы > Версия 1.8 | События > Загрузка документа | Удаленные
Устанавливает обработчик полной загрузки выбранных элементов.
События > События мыши
Устанавливает обработчик нажатия кнопки мыши на элементе, либо, запускает это событие.
События > События мыши
Устанавливает обработчик появления курсора над элементом, либо, запускает это событие.
События > События мыши
Устанавливает обработчик выхода курсора из области элемента, либо, запускает это событие.
События > События мыши
Устанавливает обработчик движения курсора мыши внутри элемента, либо, запускает это событие.
События > События мыши
Устанавливает обработчик выхода курсора из области элемента, либо, запускает это событие.
События > События мыши
Bind an event handler to the “mouseover” JavaScript event, or trigger that event on an element.
События > События мыши
Устанавливает обработчик возвращения кнопки мыши в ненажатое состояние, либо, запускает это событие.
События > Прикрепление обработчиков
Удаляет с выбранных элементов страницы обработчики событий, установленные с помощью метода .on().
События > Прикрепление обработчиков
Устанавливает обработчики событий на выбранные элементы страницы.
События > Прикрепление обработчиков
Устанавливает обработчик события выбранным элементам страницы. Особенностью метода является то, что обработчик будет вызван не более одного раза, на каждом из элементов.
События > Загрузка документа
Устанавливает обработчик готовности дерева DOM.
События > События браузера
Устанавливает обработчик изменения размеров окна браузера, либо, запускает это событие.
События > События браузера
Устанавливает обработчик «прокрутки» элементов документа, либо, запускает это событие.
События > События формы | Формы
Устанавливает обработчик выделения текста внутри элемента или , либо, запускает это событие.
События > События формы | Формы
Устанавливает обработчик отправки формы на сервер, либо запускает это событие.
Устаревшие методы > Версия 1.8 | События > События мыши | Удаленные
Поочередно выполняет одно из нескольких заданных действий.
События > Прикрепление обработчиков
Вызывает событие у выбранных элементов, что приводит к запуску обработчиков этого события.
События > Прикрепление обработчиков
Вызывает выполнение обработчиков заданного события у выбранных элементов. Cамо событие, при этом, не происходит.
Устаревшие методы > Версия 3.0 | События > Прикрепление обработчиков
Метод необходим для удаления обработчиков событий, установленных на выбранных элементах методами bind(), one() или методами с узким назначением (click(), focus() и. т.д).
Устаревшие методы > Версия 3.0 | События > Прикрепление обработчиков
У выбранных элементов страницы, удаляет обработчики событий, установленные методом delegate().
Устаревшие методы > Версия 1.8 | События > Загрузка документа | Удаленные
Устанавливает обработчик выхода со страницы (при переходе по ссылке, закрытии браузера и. т.д.) для объекта window.
События > Объект событие
Содержит DOM-элемент, событие которого обрабатывается. Внутри обработчика, currentTarget всегда совпадает с переменной this. Однако, этот элемент может не являться источником события, поскольку оно могло быть передано от дочернего элемента, в результате «всплытия» события, вверх по иерархии DOM. Первоначальный источник события содержится в event.target.
События > Объект событие
Дополнительные данные, которые передаются обработчику при его установке.
События > Объект событие | События
Содержит DOM-элемент, на который действительно установлен сработавший обработчик. Это свойство имеет смысл, если обработчик установлен делегированно. Если обработчик установлен непосредственно, то значение event.delegateTarget будет совпадать с event.currentTarget.
События > Объект событие
Определяет, вызывался ли метод event.preventDefault() на данном объекте событий.
События > Объект событие
Определяет, вызывался ли метод event.stopImmediatePropagation() на данном объекте событий.
События > Объект событие
Определяет, вызывался ли метод event. stopPropagation() на данном объекте событий.
События > Объект событие
Определяет была ли зажата клавиша META в момент действия события.
События > Объект событие
Содержит строковое значение пространства имен произошедшего события.
События > Объект событие
Координаты курсора мыши относительно левого верхнего угла документа.
События > Объект событие
Координаты курсора мыши относительно левого верхнего угла документа.
События > Объект событие
Отменяет выполнение события. Например, при «клике» по ссылке, переход по ней не произойдет, если внутри обработчика будет вызван этот метод.
События > Объект событие
Не текущий DOM-элемент, участвующий в событии. Для события mouseout будет содержать элемент, куда переместился курсор, а для mousein элемент, откуда курсор пришел.
События > Объект событие
Содержит значение, которое возвратил предыдущий обработчик этого события. Если предыдущего обработчика нет, возвратит undefined.
События > Объект событие
Предотвращает выполнение следующих обработчиков текущего события, а также, дальнейшую передачу события вверх по иерархии дерева DOM. Если требуется лишь остановить передачу события вверх по иерархии, а другие обработчики на текущем элементе останавливать не требуется, воспользуйтесь методом event. stopPropagation().
События > Объект событие
Предотвращает дальнейшую передачу текущего события, вверх по иерархии дерева DOM (некоторые события, такие как click, после выполнения на самом элементе, передают его родительским, что повторяется до самого основания дерева DOM).
События > Объект событие
DOM-элемент, являющийся источником события.
События > Объект событие
Содержит время, когда было произведено событие. Время представлено количеством секунд, прошедших с 1.01.1970.
События > Объект событие
Тип события.
События > Объект событие
При возникновении события, связанного с нажатием клавиш клавиатуры или кнопок на странице, это поле будет содержать информацию о нажатых клавишах или кнопках. В отличии от стандартных event.keyCode и event.charCode, содержимое в event.which кроссбраузерное.
События > Прикрепление обработчиков | Инструменты
По заданной функции, создает другую такую же, внутри которой переменная this будет равна заданному значению.
Обработка событий в jQuery
В этом видео мы с вами разберем, как навешивать евенты на елементы в jQuery. В чистом javascript мы с вами это делали с помощью addEventListener. Главная разница между эвентами в чистом javascript и в jQuery, это то, что они работают кроссбраузерно. И вам не нужно например internet explorer обрабатывать каким-то отдельным методом. Да и код в jQuery получается еще короче.
Давайте создадим кнопку и навесим на нее событие клик.
<button>Submit</button>
и добавим listener с помощью метода .click
$('.submit').click(function () { console.log('clicked') })
То есть код очень похож на код на javascript, но немного короче. Это потому, что это синтаксический сахар. Полная версия выглядит вот так.
$('.submit').on('click', function () { console.log('clicked') })
метод .on позволяет нам указывать какой евент мы хотим.
Точно так же можно использовать методы mouseenter, mouseleave для навешивания этих событий.
Давайте добавим div
<div>Square</div>
и навесим на него 2 события
$('.square').mouseenter(function () { console.log('square enter') }).mouseleave(function () { console.log('square leave') })
Как вы видите в результате выполнения mouseenter мы получаем все тот же jQuery элемент и можем навесить на него еще одно событие.
Давайте теперь добавим стили при наведении, а при выходе из элемента уберем их.
$('.square').mouseenter(function () { console.log('square enter') $('.square').css('background', 'blue') $('.square').css('font-size', '24px') }).mouseleave(function () { console.log('square leave') $('.square').css('background', 'none') $('.square').css('font-size', 'initial') })
Если мы посмотрим в браузер, то у нас при наведении применяются стили, а при выходе убираются.
Вот приблизительно так выглядит код на jQuery у всех, кто только начинает на нем писать. Если мы представите такого кода хотя бы 500 строк, то получается лапша.
Давайте порефакторим этот кусочек, чтобы он был читабельнее.
Сначала вынесем селектор в переменную, так как мы ищем ее аж 5 раз.
var $square = $('.square') $square.mouseenter(function () { console.log('square enter') $square.css('background', 'blue') $square.css('font-size', '24px') }).mouseleave(function () { console.log('square leave') $square.css('background', 'none') $square.css('font-size', 'initial') })
Теперь мы можем вынести методы mouseleave и mouseenter в переменные
var $square = $('.square') var enterHandler = function () { console.log('square enter') $square.css('background', 'blue') $square.css('font-size', '24px') } var leaveHandler = function () { console.log('square leave') $square.css('background', 'none') $square.css('font-size', 'initial') } $square.mouseenter(enterHandler) .mouseleave(leaveHandler)
Также мы можем писать css цепочками.
var $square = $('.square') var enterHandler = function () { console. log('square enter') $square.css('background', 'blue') .css('font-size', '24px') } var leaveHandler = function () { console.log('square leave') $square.css('background', 'none') .css('font-size', 'initial') } $square.mouseenter(enterHandler) .mouseleave(leaveHandler)
Но вообще добавлять стили в javascript не самое правильное решение. Поэтому давайте будем навешивать класс при ховере на елемент.
var $square = $('.square') var enterHandler = function () { console.log('square enter') $square.addClass('active') } var leaveHandler = function () { console.log('square leave') $square.removeClass('active') } $square.mouseenter(enterHandler) .mouseleave(leaveHandler)
И теперь нам нужно только написать стили. Так как их у нас немного, то не будем создавать отдельный файл с стилями, а напишем их прямо в html.
<style> .active { background: blue; font-size: 24px; } </style>
Есть один огромный нюанс, который вызывает проблемы у новичков. Давайте на него посмотрим.
Давайте создадим елемент и вставим его в DOM и навесим на него событие.
Мы можем просто на body вызвать метод .append и передать туда кусок html. и он сразу же вставится в конец body.
$('body').append('<div>Created by javascript</div>')
Теперь давайте навесим евент до того, как мы добавили елемент.
$('.byJavascript').click(function () { console.log('created by javascript') }) $('body').append('<div>Created by javascript</div>')
Естественно, что клик по елементу у нас работать не будет, так как елемент еще не существует. Но практически всегда мы хотим навесить события при инициализации страницы для отслеживания даже созданных позже елементов.
Для этого есть очень простое решение. Нам нужно просто навешить евент на уже существующий елемент например body, а проверять что событие произошло на нужно нам елементе.
Давайте попробуем переписать этот же код.
$('body').on('click', '. byJavascript', function () { console.log('created by javascript') })
То есть мы навесили евент клик на body, но указали вторым аргументом, что нас интересует елемент .byJavascript. И теперь даже если елемент будет создан позже, то евент сработает.
Если у вас что-то не получается, либо возникли вопросы и комментарии, пишите их прямо под этим видео и я обязательно на них отвечу.
Jquery Event Methods
❮ Назад Дальше ❯
Методы событий инициируют или прикрепляют функцию к обработчику событий для выбранных элементов.
В следующей таблице перечислены все методы jQuery, используемые для обработки событий.
Метод / свойство | Описание |
---|---|
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 — События
- Главная
- Туториалы org/ListItem»> Веб-программирование
- jQuery
События jQuery позволяют обрабатывать различные действия совершаемые над элементами страниц сайта. В библиотеке jQuery используются как стандартные события JavaScript, так и собственные.
Базовые события
Название | Описание |
.on() | Универсальный метод установки обработчиков событий на элементы |
off() | Удаляет обработчики, установленные с помощь .on() |
.one() | Устанавливает обработчик события на выбранные элементы страницы, который сработает только по одному разу, на каждом из элементов |
.unbind() | Удаляет обработчик событий у выбранных элементов |
. trigger() | Выполняет указанное событие и запускает его обработчик |
.triggerHandler() | Запускает обработчик указанного события, без его выполнения |
jQuery.proxy() | По заданной функции, создает другую, внутри которой this будет равен заданному значению |
event | Объект с данными о текущем событии |
События мыши
Название | Описание |
.click() | Устанавливает обработчик «клика» мышью по элементу, либо, запускает это событие |
.dblclick() | Устанавливает обработчик двойного «клика» мышью по элементу, либо, запускает это событие |
.hover() | Устанавливает обработчик двух событий: появления/исчезновения курсора над элементом |
. mousedown() | Устанавливает обработчик нажатия кнопки мыши, либо, запускает это событие |
.mouseup() | Устанавливает обработчик поднятия кнопки мыши, либо, запускает это событие |
.mouseenter() | Устанавливает обработчик появления курсора в области элемента, либо, запускает это событие |
.mouseleave() | Устанавливает обработчик выхода курсора из области элемента, либо, запускает это событие |
.mousemove() | Устанавливает обработчик движения курсора в области элемента, либо, запускает это событие |
.mouseout() | Устанавливает обработчик выхода курсора из области элемента, либо, запускает это событие |
.mouseover() | Устанавливает обработчик появления курсора в области элемента, либо, запускает это событие |
.toggle() | Поочередно выполняет одну из двух или более заданных функций, в ответ на «клик» по элементу |
События клавиатуры
Название | Описание |
. keydown() | Устанавливает обработчик перехода клавиши клавиатуры в нажатое состояние, либо, запускает это событие |
.keyup() | Устанавливает обработчик возвращение клавиши клавиатуры в ненажатое состояние, либо, запускает это событие |
.keypress() | Устанавливает обработчик ввода символа с клавиатуры, либо, запускает это событие |
События формы
Название | Описание |
.focus() | Устанавливает обработчик получения фокуса, либо, запускает это событие |
.blur() | Устанавливает обработчик потери фокуса, либо, запускает это событие |
.focusin() | Устанавливает обработчик получения фокуса самим элементом или одним из его дочерних |
. focusout() | Устанавливает обработчик потери фокуса самим элементом или одним из его дочерних |
.select() | Устанавливает обработчик выделения текста, либо, запускает это событие |
.submit() | Устанавливает обработчик отправки формы, либо, запускает это событие |
.change() | Устанавливает обработчик изменения элемента формы, либо, запускает это событие |
События загрузки страницы
Название | Описание |
.ready() | Устанавливает обработчик готовности дерева DOM |
.load() | Устанавливает обработчик завершения загрузки элемента |
.unload() | Устанавливает обработчик ухода со страницы |
События браузера
Название | Описание |
. error() | Устанавливает обработчик ошибки при загрузке элементов |
.resize() | Устанавливает обработчик изменения размеров окна браузера, либо, запускает это событие |
.scroll() | Устанавливает обработчик «прокрутки» элементов документа, либо, запускает это событие |
jQuery — события
Эти методы JQuery позволяют привязать функцию JQuery к обработчику событий.
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 |
Записаться на курс
* По материалам сайта www.w3schools.com
событий | Документация API jQuery
Эти методы используются для регистрации действий, которые вступают в силу, когда пользователь взаимодействует с браузером, и для дальнейшего управления этими зарегистрированными действиями.
Также в: Устаревшие > Устаревшие 3.0 | События > Приложение обработчика событий
Прикрепить обработчик к событию для элементов.
Также в: События > События формы | Формы
Привяжите обработчик события к событию JavaScript «размытие» или вызовите это событие для элемента.
Также в: События > События формы | Формы
Привяжите обработчик события к событию JavaScript «изменить» или вызовите это событие для элемента.
Также в: События > События мыши
Привяжите обработчик события к событию JavaScript «щелчок» или вызовите это событие для элемента.
Также в: События > События мыши
Привяжите обработчик события к событию JavaScript «contextmenu» или вызовите это событие для элемента.
Также в: События > События мыши
Привязать обработчик события к событию JavaScript «dblclick» или инициировать это событие для элемента.
Также в: Устаревший > Устаревший 3.0 | События > Приложение обработчика событий
Прикрепите обработчик к одному или нескольким событиям для всех элементов, которые соответствуют селектору, сейчас или в будущем, на основе определенного набора корневых элементов.
Также в: Устарело > Устарело 1.7 | События > Вложение обработчика событий | Удалено
Удалить обработчики событий, ранее прикрепленные с помощью . live() к элементам.
Также в: События > События браузера | Устаревший > Устаревший 1.8 | Удалено
Привязать обработчик события к событию JavaScript «ошибка».
Также в: События > Объект события
Текущий элемент DOM в фазе всплытия события.
Также в: События > Объект события
Необязательный объект данных, передаваемый методу события при привязке текущего выполняющегося обработчика.
Также в: События > Объект события
Элемент, к которому был прикреплен вызываемый в данный момент обработчик событий jQuery.
Также в: События > Объект события
Возвращает информацию о том, вызывалось ли когда-либо событие event.preventDefault() для этого объекта события.
Также в: События > Объект события
Возвращает значение, вызывавшееся когда-либо для этого объекта события.
Также в: События > Объект события
Возвращает, было ли когда-либо вызвано событие event.stopPropagation() для этого объекта события.
Также в: События > Объект события
Указывает, была ли нажата клавиша META при запуске события.
Также в: События > Объект события
Пространство имен, указанное при запуске события.
Также в: События > Объект события
Положение мыши относительно левого края документа.
Также в: События > Объект события
Положение мыши относительно верхнего края документа.
Также в: События > Объект события
При вызове этого метода действие по умолчанию для события не будет запущено.
Также в: События > Объект события
Другой элемент DOM, участвующий в событии, если он есть.
Также в: События > Объект события
Последнее значение, возвращенное обработчиком событий, запущенным этим событием, если только значение не было неопределенным.
Также в: События > Объект события
Предотвращает выполнение остальных обработчиков и предотвращает всплытие события вверх по дереву DOM.
Также в: События > Объект события
Предотвращает всплытие события в дереве DOM, предотвращая уведомление родительских обработчиков о событии.
Также в: События > Объект события
Элемент DOM, инициировавший событие.
Также в: События > Объект события
Разница в миллисекундах между временем создания события браузером и 1 января 1970 года.
Также в: События > Объект события
Описывает характер события.
Также в: События > Объект события
Для событий клавиш или мыши это свойство указывает конкретную клавишу или кнопку, которая была нажата.
Также в: События > События формы | Формы
Привязать обработчик события к событию JavaScript «фокус» или инициировать это событие для элемента.
Также в: События > События формы | Формы
Привязать обработчик события к событию focusin.
Также в: События > События формы | Формы
Привязать обработчик события к событию JavaScript focusout.
Также в: События > События мыши
Привязать один или два обработчика к совпадающим элементам, которые будут выполняться, когда указатель мыши входит и покидает элементы.
Также в: Ядро | Устаревший > Устаревший 3.2 | События > Загрузка документа | Свойства > Свойства глобального объекта jQuery
Задерживает или прекращает выполнение события готовности jQuery.
Также в: Устаревший > Устаревший 3.3 | События > Вложение обработчика событий | Коммунальные услуги
Принимает функцию и возвращает новую, которая всегда будет иметь определенный контекст.
Также в: Ядро | События > Загрузка документа | Свойства > Свойства глобального объекта jQuery
Объект, похожий на обещание (или «затем»), который разрешается, когда документ готов.
Также в: События > События клавиатуры
Привяжите обработчик события к событию JavaScript «keydown» или вызовите это событие для элемента.
Также в: События > События клавиатуры
Привяжите обработчик события к событию JavaScript «нажатие клавиши» или вызовите это событие для элемента.
Также в: События > События клавиатуры
Привяжите обработчик события к событию JavaScript «keyup» или вызовите это событие для элемента.
Также в: Устарело > Устарело 1.7 | События > Вложение обработчика событий | Удалено
Прикрепите обработчик событий для всех элементов, соответствующих текущему селектору, сейчас и в будущем.
Также в: Устарело > Устарело 1.8 | События > Загрузка документа | Удалено
Привязать обработчик события к событию «загрузка» JavaScript.
Также в: События > События мыши
Привяжите обработчик события к событию JavaScript «mousedown» или вызовите это событие для элемента.
Также в: События > События мыши
Привяжите обработчик событий, который будет запускаться, когда мышь входит в элемент, или активируйте этот обработчик для элемента.
Также в: События > События мыши
Привязать обработчик событий, который будет запускаться, когда мышь покидает элемент, или активировать этот обработчик на элементе.
Также в: События > События мыши
Привяжите обработчик события к событию JavaScript «mousemove» или вызовите это событие для элемента.
Также в: События > События мыши
Привяжите обработчик события к событию JavaScript «mouseout» или вызовите это событие для элемента.
Также в: События > События мыши
Привяжите обработчик события к событию JavaScript «mouseover» или вызовите это событие для элемента.
Также в: События > События мыши
Привяжите обработчик события к событию JavaScript «mouseup» или вызовите это событие для элемента.
Также в: События > Приложение обработчика событий
Удалить обработчик событий.
Также в: События > Приложение обработчика событий
Прикрепите функцию обработчика событий для одного или нескольких событий к выбранным элементам.
Также в: События > Приложение обработчика событий
Прикрепить обработчик к событию для элементов. Обработчик выполняется не более одного раза для каждого элемента каждого типа события.
Также в: События > Загрузка документа
Укажите функцию для выполнения при полной загрузке DOM.
Также в: События > События браузера
Привяжите обработчик события к событию JavaScript «изменение размера» или вызовите это событие для элемента.
Также в: События > События браузера
Привяжите обработчик события к событию JavaScript «прокрутки» или вызовите это событие для элемента.
Также в: События > События формы | Формы
Привязать обработчик события к событию JavaScript «выбрать» или инициировать это событие для элемента.
Также в: События > События формы | Формы
Привязать обработчик события к событию JavaScript «отправить» или вызвать это событие для элемента.
Также в: Устарело > Устарело 1.8 | События > События мыши | Удалено
Привязать два или более обработчика к совпавшим элементам, чтобы они выполнялись попеременно.
Также в: События > Приложение обработчика событий
Выполнить все обработчики и варианты поведения, прикрепленные к соответствующим элементам для данного типа события.
Также в: События > Приложение обработчика событий
Выполнить все обработчики, прикрепленные к элементу для события.
Также в: Устаревший > Устаревший 3.0 | События > Приложение обработчика событий
Удалить ранее прикрепленный обработчик событий из элементов.
Также в: Устаревший > Устаревший 3.0 | События > Приложение обработчика событий
Удалить обработчик из события для всех элементов, соответствующих текущему селектору, на основе определенного набора корневых элементов.
Также в: Устарело > Устарело 1.8 | События > Загрузка документа | Удалено
Привязать обработчик события к событию «выгрузить» JavaScript.
Методы событий jQuery
❮ Назад Далее ❯
Методы событий запускают или присоединяют функцию к обработчику событий для выбранные элементы.
В следующей таблице перечислены все методы jQuery, используемые для обработки событий.
Метод/свойство | Описание |
---|---|
привязка() | Устарело в версии 3. 0. Использовать вместо этого метод on(). Присоединяет обработчики событий к элементам |
размытие() | Прикрепляет/запускает событие размытия |
изменить() | Прикрепляет/запускает событие изменения |
клик() | Прикрепляет/запускает событие щелчка |
dblclick() | Прикрепляет/запускает событие двойного щелчка |
делегат() | Устарело в версии 3.0. Использовать вместо этого метод on(). Прикрепляет обработчик к текущему или будущему указанному дочернему элементу. элементы совпадающих элементов |
умереть() | Удалено в версии 1.9. Удаляет все обработчики событий, добавленные с помощью метода live() | .
ошибка() | Удалено в версии 3.0. Прикрепляет/вызывает событие ошибки |
событие.currentTarget | Текущий элемент DOM в фазе всплытия события |
событие. данные | Содержит необязательные данные, передаваемые методу события, когда текущий исполняющий обработчик привязан |
event.delegateTarget | Возвращает элемент, к которому был присоединен вызываемый в данный момент обработчик событий jQuery |
event.isDefaultPrevented() | Возвращает информацию о том, был ли вызван event.preventDefault() для объекта события. |
event.isImmediatePropagationStopped() | Возвращает информацию о том, был ли вызван event.stopImmediatePropagation() для объекта события |
событие.isPropagationStopped() | Возвращает информацию о том, был ли вызван event.stopPropagation() для объекта события |
event.namespace | Возвращает пространство имен, указанное при запуске события |
событие.страницаX | Возвращает положение мыши относительно левого края документа |
событие. pageY | Возвращает положение мыши относительно верхнего края документа |
event.preventDefault() | Предотвращает действие по умолчанию для события |
event.relatedTarget | Возвращает, какой элемент вводится или выходит при движении мыши |
событие.результат | Содержит последнее/предыдущее значение, возвращенное обработчиком событий вызвано указанным событием |
событие.stopImmediatePropagation() | Предотвращает вызов других обработчиков событий |
event.stopPropagation() | Предотвращает всплытие события в дереве DOM, предотвращая любой родительский обработчики от уведомления о событии |
событие.цель | Возвращает, какой элемент DOM вызвал событие |
event.timeStamp | Возвращает количество миллисекунд с 1 января 1970 г. когда событие срабатывает |
событие. тип | Возвращает, какой тип события был запущен |
событие.которое | Возвращает, какая клавиша клавиатуры или кнопка мыши была нажата для события |
фокус() | Прикрепляет/запускает событие фокуса |
фокусин() | Прикрепляет обработчик событий к событию focusin |
фокусаут() | Добавляет обработчик событий к событию focusout |
наведение() | Добавляет два обработчика событий к событию наведения |
нажатие клавиши() | Прикрепляет/запускает событие нажатия клавиши |
нажатие клавиши() | Прикрепляет/запускает событие нажатия клавиши |
клавиша () | Прикрепляет/запускает событие keyup |
жить() | Удалено в версии 1.9. Добавляет один или несколько обработчиков событий к текущим или будущим выбранным элементам |
загрузка() | Удалено в версии 3. 0. Присоединяет обработчик события к событию загрузки | .
мышь вниз() | Прикрепляет/запускает событие mousedown |
мышь введите() | Присоединяет/запускает событие mouseenter |
выход из мыши() | Прикрепляет/запускает событие mouseleave |
движение мыши() | Прикрепляет/запускает событие mousemove |
вывод мыши() | Прикрепляет/запускает событие mouseout |
наведение курсора() | Прикрепляет/запускает событие наведения мыши |
подведение мыши() | Прикрепляет/запускает событие mouseup |
выкл() | Удаляет обработчики событий, прикрепленные с помощью метода on() |
на() | Прикрепляет обработчики событий к элементам |
один() | Добавляет один или несколько обработчиков событий к выбранным элементам. Этот обработчик может быть только срабатывает один раз на элемент |
$. прокси() | Берет существующую функцию и возвращает новую с определенным контекстом |
готово() | Указывает функцию для выполнения при полной загрузке DOM |
изменить размер() | Прикрепляет/запускает событие изменения размера |
прокрутка() | Прикрепляет/запускает событие прокрутки |
выбрать() | Прикрепляет/запускает событие выбора |
отправить() | Прикрепляет/запускает событие отправки |
переключить() | Удалено в версии 1.9. Присоединяет две или более функции для переключения между ними для события click |
триггер() | Запускает все события, связанные с выбранными элементами |
триггерHandler() | Запускает все функции, привязанные к указанному событию для выбранных элементов |
развязать() | Устарело в версии 3. 0. Использовать вместо метода off(). Удаляет добавленный обработчик событий из выбранных элементов |
отменить делегирование() | Устарело в версии 3.0. Использовать вместо метода off(). Удаляет обработчик событий для выбранных элементов сейчас или в будущем |
выгрузить() | Удалено в версии 3.0. Использовать on() или метод trigger() вместо этого. Присоединяет обработчик события к событию выгрузки | .
❮ Предыдущий Далее ❯
NEW
Мы только что выпустили
Видео W3Schools
Узнать
COLOR PICKER
КОД ИГРЫ
Играть в игру
Top Tutorials
Учебник по HTMLУчебник по CSS
Учебник по JavaScript
Учебник How To
Учебник по SQL
Учебник по Python
Учебник по W3.CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery
9004
620 Лучшие ссылки HTML ReferenceCSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3. CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference
2 Top1s
Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры How To
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery
FORUM | О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.
Авторское право 1999-2022 по данным Refsnes. Все права защищены.
W3Schools работает на основе W3.CSS.
Тридубмедиа · jquery.
event.dragПлагин jquery для специальных событий, упрощающий задачу добавления сложных событий. взаимодействия с перетаскиванием к любому элементу, простые и мощные.
Обзор
Плагин работает, используя стандартные события DOM и имитируя пользовательские события. события для создания взаимодействия перетаскивания. Это упрощает повторяющийся шаблон взаимодействия событий, который может быть довольно сложным для разработки в последовательный, кросс-браузерный способ. Взаимодействие перетаскивания, хотя и простое в самой простой форме становится довольно сложным, когда знакомится с вопросами расстояние, ручки, выделение текста, прокси-элементы, подавление кликов, и падение.
Этот плагин ориентирован на правильную симуляцию событий перетаскивания в очень полезный способ. Этот плагин не добавляет имена классов, не изменяет положение или внешний вид любых элементов и не изменяет DOM. Только этот плагин обеспечивает необходимые обратные вызовы в правильных точках взаимодействия модель, позволяющая разработчикам иметь полный контроль над взаимодействиями что они создают. Это уменьшает размер файла, устраняет зависимости, и повышает производительность.
События
Базовое взаимодействие перетаскивания начинается, когда пользователь нажимает кнопку мыши. с курсором внутри элемента (mousedown), продолжается, пока пользователь перемещает мышь (mousemove) и заканчивается, когда пользователь отпускает мышь кнопка (наведение мыши). Стандартные события DOM (mousedown, mousemove, mouseup) свободно транслируются в специальные события перетаскивания. Этот плагин занимает эти события DOM и запускает следующие события в ключевые моменты в взаимодействие. Ни одно из этих событий перетаскивания не всплывает.
- драгинит
Это событие возникает при нажатии кнопки мыши (mousedown) в связанный элемент. Обработчик может вернуть false, чтобы отменить остальную часть события взаимодействия перетаскивания или могут возвращать элементы для использования в качестве перетаскивания цели для остальной части взаимодействия перетаскивания. Это событие не сработает если варианты «не», «обрабатывать» и «какой» не удовлетворены. - драгстарт
Это событие срабатывает после «draginit», когда мышь переместилась на минимум «расстояние», которое может быть указано в опциях. Обработчик может вернуть false, чтобы отменить остальные события взаимодействия перетаскивания, или можно вернуть элемент для установки в качестве прокси-сервера для остальной части перетаскивания взаимодействие. При перетаскивании нескольких элементов (из «draginit») этот событие будет срабатывать уникально для каждого элемента. - перетащить
Это событие срабатывает после «draginit» и «dragstart» каждый раз, когда мышь движется. Обработчик может вернуть false, чтобы остановить взаимодействие перетаскивания и перейти прямо к «dragend», а также предотвращать любые события «drop». Если перетащить несколько элементов (от «draginit»), это событие будет срабатывать только на каждый элемент. - драгенд
Это событие запускается после «draginit» и «dragstart» и «drag», когда кнопка мыши отпущена или когда событие «перетаскивания» отменено. Это событие всегда будет срабатывать после любых событий «отбрасывания». Если перетаскивать несколько элементов (от «draginit»), это событие будет срабатывать уникально для каждого элемента.
Этот плагин также поддерживает «живое» делегирование событий… вроде того. Когда живое мероприятие привязывается, плагин автоматически добавляет событие «draginit», которое делает взаимодействие работает корректно. Он проверяет целевой элемент события на любые живые обработчики, любые совпадающие прикрепляются к целевому элементу. После взаимодействие завершено, обработчики очищаются. Самый важный момент взять из этого то, что живые «драгинитные» события будут работать некорректно.
Методы
В интересах обеспечения согласованности с jQuery API вспомогательный метод был добавлен как сокращение для привязки и запуска «перетаскивания» обработчики событий. Предыдущая версия этого плагина позволяла использовать этот метод быть перегруженным аргументами для дополнительной привязки обработчиков для «dragstart» и «dragend» в одном вызове, но это больше не поддерживается. Вместо этого может быть включен необязательный аргумент типа для привязки или запуска связанные события (префикс «перетаскивание» необязателен). Также могут быть включены опции в качестве последнего аргумента и являются необязательными.
- .перетащить()
Запускает любые связанные обработчики событий «перетаскивания» для каждого элемента в коллекции jQuery.
Эквивалентно: .trigger(«drag»). - .drag( тип )
Запускает любые связанные обработчики событий «dragtype» для каждого элемента в коллекции jQuery. (Типы: init, start, end)
Эквивалент: .trigger(«dragtype»). - .drag(обработчик, параметры)
Привязывает обработчик события «перетаскивания» к каждому элементу в коллекции jQuery.
Эквивалентно: .bind(«перетаскивание», параметры, обработчик) - .drag(тип, обработчик, параметры)
Привязывает обработчик события dragtype к каждому элементу в коллекции jQuery. (Типы: init, start, end)
Эквивалентно: .bind(«dragtype», options, handler )
Опции
Все эти настройки являются необязательными и могут быть переданы через аргумент «данные» в методе «привязки» jQuery или аргумент «параметры» в методе «перетаскивания» jQuery.
- который (номер) По умолчанию: 1
Число, соответствующее свойству события «какое», чтобы указать нажатая кнопка мыши. (0 = любая кнопка, 1 = левая кнопка, 2 = средняя кнопка, 3 = правая кнопка) - расстояние (номер) По умолчанию: 0
Число, представляющее длину пикселей, которую должна переместить мышь. до того, как может сработать событие «dragstart». - не (строка) По умолчанию: «: ввод»
Выражение селектора jquery, которое соответствует элементам, в которые перетаскивается не разрешается начинать. - ручка (строка) По умолчанию: НУЛЬ
Выражение селектора jquery, которое соответствует элементам, в которые перетаскивается разрешено начать. - родственник (логическое значение) По умолчанию: ЛОЖЬ
Логическое значение, указывающее, следует ли использовать положение элемента относительно документ или смещенный родитель. Этот параметр влияет на значения offsetX, смещениеY, исходноеX и исходноеY. (FALSE = положение относительно документа) - нажмите (логическое значение) По умолчанию: ЛОЖЬ
Логическое значение, указывающее, разрешено ли запускать события «щелчок» после события «драген». (ЛОЖЬ = Нет щелчка) - падение (логическое значение | строка) По умолчанию: ИСТИНА
Логическое значение, указывающее, учитываются ли события «перетаскивания» в взаимодействие перетаскивания или выражение селектора jquery, которое должно фильтровать и сопоставьте подмножество зарегистрированных целей перетаскивания. (ЛОЖЬ = без сброса, TRUE = Отбрасывать где угодно, «:expr» = Отбрасывать цели, соответствующие этому выражению)
Значения по умолчанию хранятся в объекте jQuery. event.special.drag.defaults.
Свойства
Следующие свойства принадлежат объекту обратного вызова перетаскивания, который передается в качестве второго аргумента каждому обработчику событий, уникальному для каждого перетаскиваемый элемент и совместно используемое во время взаимодействия перетаскивания.
- цель (Элемент)
Элемент перетаскивания или элемент перетаскивания, на который обработчик события был связан. (Всегда то же самое, что и «это» в обработчике событий) - перетащить (Элемент)
Перетаскиваемый элемент для данного взаимодействия, к которому событие перетаскивания был связан. - прокси (Элемент)
Перетащенный элемент или любой элемент, возвращенный обработчиком «dragstart». Прокси-элемент используется для определения допуска цели перетаскивания. - падение (массив)
Содержит все активные цели перетаскивания для текущего взаимодействия. - в наличии (массив)
Содержит все доступные цели перетаскивания для текущего взаимодействия. - обновление (Функция)
Вспомогательная функция, которая обновляет расположение всех доступных отбрасывать цели для текущего взаимодействия. - стартХ (номер)
Горизонтальное расположение события «mousedown». - пуск (номер)
Вертикальное расположение события «mousedown». - дельтаХ (номер)
Горизонтальное расстояние перемещено из «startX». - ДЕЛЬТА (номер)
Расстояние по вертикали перемещено от «startX». - оригиналX (номер)
Начальное горизонтальное положение перетаскиваемого «целевого» элемента. - оригинал Y (номер)
Начальная вертикальная позиция перетаскиваемого «целевого» элемента. - смещениеX (номер)
Перемещенное горизонтальное положение перетаскиваемого «целевого» элемента. - смещение Y (номер)
Перемещенное вертикальное положение перетаскиваемого «целевого» элемента.
Объект обратного вызова является расширяемым. Вы можете добавить любое свойство в рамках одного события обработчик, и он будет доступен в любых других обработчиках событий, которые следуют (на перетаскиваемый элемент). Дополнительные свойства или методы могут быть добавлены к jQuery.event.special.drag.callback.prototype и будет доступен во всех обработчиках событий для всех элементов.
Демо
Следующие примеры предназначены для того, чтобы показать, как могут быть реализованы специальные события перетаскивания. настроен для достижения широкого спектра функций для любого взаимодействия перетаскивания. У меня есть максимально упростил каждую демонстрацию, чтобы действительно выделить ядро каждой особенность. Если у вас возникли проблемы или вы хотите предложить новую функцию или новый демо, пожалуйста, свяжитесь со мной через Группа Google ThreeDubMedia.
- Базовый
Один из самых простых способов создать взаимодействие перетаскивания с помощью метода «перетаскивания». - Родственник
Простая операция перетаскивания с использованием относительной опции. - Ось
Способ ограничить движение в одном измерении. - Сетка
Техника ограничения движения по сетке. - Содержать
Метод ограничения перемещения контейнера. - Циркуляр
Использование тригонометрии для ограничения движения круговым путем. - Справиться
Использование параметра данных «связать» и опции «обработать». - Активный
Использование событий «dragstart» и «dragend» для переключения в «активное» состояние перетаскивания. - Прокси
Использование обработчика dragstart для возврата прокси-элемента. - Z-индекс
Использование обработчика dragstart для обеспечения того, чтобы перетаскиваемый элемент оказался сверху. - Возвращаться
Использование свойств startX и startY для восстановления начальной позиции. - Мульти
Использование обработчика «draginit» для возврата нескольких элементов. - Компенсировать
Установка фиксированного смещения элемента для перетаскиваемых элементов. - Жить
Использование делегирования «живых» событий с событиями «перетаскивания». - Который
Использование параметра «какой» для выбора конкретной кнопки мыши. - Нажмите
Использование параметра «щелчок», чтобы позволить щелчку распространяться после перетаскивания. - Нет
Использование параметра «не» для предотвращения перетаскивания с помощью выражения селектора. - Расстояние
Использование параметра «расстояние» для предотвращения перетаскивания до тех пор, пока не будет превышено пороговое значение в пикселях. - Изменить размер
Использование свойств deltaX и deltaY для изменения размера элемента. - Изменить размер2
Сложный пример, показывающий изменение размера в 8 направлениях с несколькими элементами. - Рисовать
Использование событий перетаскивания для управления элементом холста.
jquery-события-в-дом-события — npm
Слушайте «события» jQuery с vanilla JS
$(document).trigger(‘fart’) создает $fart DOM CustomEvent
- Независимая от библиотеки : разработана для Stimulus, но случайно работает с библиотеками последнего поколения, такими как React
- Простой : всего две функции, одна из которых не является обязательной
- Tiny : вряд ли можно назвать библиотекой всего с 30 LOC
- Mutation-First : возвращает обработчик события, который будет выпущен во время
disconnect()
- Нулевые зависимости : разумно использует окно
. $
, чтобы избежать фиксации jQuery - Turbolinks : совместимость с событиями жизненного цикла Turbolinks
- Bi-Directional : тихо поддерживает отправку событий DOM в jQuery,
- Лицензия MIT : бесплатно для личного и коммерческого использования
Вы можете попробовать это прямо сейчас на CodePen или, что еще лучше, клонировать пример проекта Rails, чтобы поэкспериментировать в контексте мутации с помощью Stimulus.
Проект Rails называется jboo . Не вчитывайтесь в название.
Настройка
Во-первых, правильная музыка важна для создания правильного контекста.
Вам не обязательно слушать музыку, но конфигурация вашего транспилятора почти наверняка не пройдет проверку ворса, если вы не слушаете « In Harmony New Found Freedom » группы The Swirlies из их альбома 1996 года » They Spent Your Wild». Юношеские дни в сверкающем мире салонов», пока вы интегрируете эту библиотеку.
Затем убедитесь, что вы загрузили jQuery и эту библиотеку в свой проект.
yarn install jquery jquery-events-to-dom-events
Эта библиотека предполагает, что jQuery доступен как $
в глобальном объекте окна
. Вы можете убедиться в этом, открыв Инспектор консоли браузера и набрав window.$
. Вы должны увидеть что-то вроде:
ƒ jQuery(селектор, контекст)
Если вы работаете в Rails и $
недоступен, попробуйте изменить файл config/webpack/environment.js
следующим образом: ‘)
Environment.plugins.prepend (
‘ предоставление ‘,
New Webpack.provideplugin ({
$:’ jquery/src/jquery ‘,
jquery:’ jquery/src/jquery ‘
й )
)
module.exports = окружающая среда
Использование
В самой базовой конфигурации вы:
-
import {delegate} from 'jquery-events-to-dom-events'
- Вызовите делегата
(eventName)
для каждого события jQuery, которое вы хотите зафиксировать. - Настройте прослушиватели событий DOM для этих событий, добавив $ к имени события .
Допустим, вы хотите ответить пользователю, закрывающему модальное окно Bootstrap:
0004
делегат('hidden.bs.modal')
document.addEventListener('$hidden.bs.modal', () => console.log('Modal close!'))
Возможно, это так. Иди сделай бутерброд — ты это заслужил.
Примечание . Механизм, используемый этой библиотекой, заключается в захвате событий jQuery с помощью прослушивателей событий jQuery, а затем создании событий DOM, которые содержат всю ту же информацию, что и оригинал. Невозможно перехватывать события jQuery с помощью обычного обработчика событий , потому что реализация jQuery является проприетарной и нетривиальной.
Технически эта библиотека повторяет события . Квантовая запутанность событий? Идеальный! Отправим его.
Ajax и случай с дополнительными параметрами
Некоторые события, такие как обратные вызовы jQuery Ajax, возвращаются с присоединенными дополнительными параметрами, и для этих исключений необходимо указать второй параметр, определяющий массив строк, представляющих эти параметры. Первый элемент этого массива всегда должен быть событие
.
Событие | Параметры |
---|---|
ajax:успех | [‘событие’, ‘данные’, ‘статус’, ‘xhr’] |
Аякс:ошибка | [‘событие’, ‘xhr’, ‘статус’, ‘ошибка’] |
аякс: полный | [‘событие’, ‘xhr’, ‘статус’] |
ajax: перед отправкой | [‘событие’, ‘xhr’, ‘настройки’] |
ajax: отправить | [‘событие’, ‘xhr’] |
ajax:прервано:требуется | [‘событие’, ‘элементы’] |
ajax: прервано: файл | [‘событие’, ‘элементы’] |
Вы можете прослушивать уведомления о завершении запросов Ajax следующим образом:
, 'xhr', 'status'])
document.addEventListener('$ajax:complete', () => console.log('Ajax запрос произошел!'))
Вы можете передавать параметры из ваших собственных событий jQuery в события DOM. Вам просто нужно дать каждому параметру имя, и эти параметры будут обработаны по порядку. Именованные параметры доступны через деталь
объекта события.
импорт { делегат } из 'jquery-events-to-dom-events'
делегат('день рождения', ['событие', 'зверь'])
document.addEventListener('$birthday', event = > console.log('день рождения получен как $birthday из DOM', event.detail.beast))
window.$(document).trigger('birthday', 666)
Первая мутация
Вы слышали шумиху. Теперь пришло время получить настоящее о том, как сделать ваш код идемпотентным. Если вы гордитесь качеством кода, который вы пишете, Stimulus упрощает структурирование вашей логики, чтобы она автоматически работала с Turbolinks и не допускала утечки памяти при преобразовании элементов DOM из существующих, к которым все еще подключены прослушиватели событий.
Давайте начнем с фрагмента HTML, который подключает контроллер Stimulus под названием делегировать
в DIV:
Этот контроллер Stimulus импортирует вторую функцию с именем abnegate
, которая высвобождает ваши делегированные события, пока происходит разбор вашего компонента:
from 'jquery-events-to-dom-events'
const eventhandler = () => console. log ('jQuery, полученный как $ jquery от dom')
Класс экспорта по умолчанию. jquery ')
Document.AddeventListener (' $ jquery ', eventhandler)
}
Densonnect () {
Abnegate (' jquery ', this.delegate)
Document.RemoveEventListener (' $ jquery ', eventHandler)
.
}
trigger () {
window.$(document).trigger('jquery')
}
}
Мы используем метод Stimulus 1
для вызова события click 194 кнопки. контроллера делегата
. Вы также можете вызвать $(document).trigger('test')
из Инспектора консоли, не нажимая кнопку.
Важным выводом является то, что функция делегата
возвращает обработчик событий jQuery, который может быть сохранен как свойство экземпляра контроллера. Затем этот обработчик передается обратно в отменить функцию
, чтобы jQuery мог выпускать собственный прослушиватель событий для элементов, которые вскоре могут быть удалены из DOM.
Только строго придерживаясь хороших привычек в отношении присоединения слушателей во время connect()
и удаления их во время disconnect()
, мы можем быть уверены, что освобождаем ссылки правильно. Это соглашение помогает нам устранить странные сбои и побочные эффекты, возникающие при смешивании устаревших компонентов jQuery с Turbolinks. Они были написаны для того времени, когда было одно событие загрузки страницы, и клики запускали операции обновления страницы.
Помните: если вы определяете обработчики событий с анонимными функциями, переданными прослушивателю, вы не сможете удалить их позже. Только ты можешь предотвратить лесные пожары.
Отправка событий DOM в jQuery
Важно найти баланс между самоуверенностью и идеологическими ограничениями. Хотя эта библиотека определенно предназначена для того, чтобы помочь разработчикам jQuery перейти к использованию vanilla JS, в какой-то момент я понял, что если не упростить отправку событий DOM в jQuery, люди выберут библиотеку, которая это делает.
Чтобы перехватывать события DOM внутри вашего кода jQuery, вы, по сути, хотите инвертировать все предыдущие инструкции. Функции делегата и отказа принимают имена событий, которые начинаются с символа $
, и это указывает библиотеке прослушивать события DOM и запускать их как события jQuery. 100004
this.delegate = delegate(‘$wedding’)
document.dispatchEvent(new CustomEvent(‘$wedding’, { detail: 666 }))
Хотя синтаксис очень похож, существует значительная разница в способ, которым события передаются в событие jQuery. Конструктор CustomEvent может принимать объект в качестве необязательного второго параметра, а ключ в этом объекте должен быть detail
. Интересно, что значение детали
может быть практически любым — например, 666 выше, но чаще всего это объект с парами ключ/значение.
Участие
Сообщения об ошибках и запросы на вытягивание приветствуются.
Лицензия
Этот пакет доступен как открытый исходный код в соответствии с условиями лицензии MIT.
Методы событий jQuery с примерами
- « Предыдущая
- Далее »
Методы событий jQuery позволяют прикрепить функцию к обработчику событий для выбранных элементов. Методы события jQuery представляют собой действие, которое выполняется в определенное время. Ниже приведены методы обработки событий jQuery 9.0004
Метод jQuery | Описание |
---|---|
привязка() | Прикрепите один или несколько обработчиков событий к элементам Устарело в jQuery 3.0. Используйте метод on() вместо этого |
размытие() | Это событие происходит, когда элемент теряет фокус |
изменить() | Это событие возникает при изменении значения выбранного элемента. Работает только для , и элементов |
клик() | Это событие происходит при щелчке элемента |
dblclick() | Это событие возникает при двойном щелчке элемента |
делегат() | Это событие возникает при присоединении одного или нескольких обработчиков событий для определенных элементов, являющихся дочерними для выбранных элементов. Устарело в jQuery 3.0. Используйте метод on() вместо этого |
умереть() | Этот метод удаляет один или несколько обработчиков событий, используемых с методом live(), для выбранных элементов Удалено в jQuery 1.9 |
ошибка() | Это событие возникает, когда в выбранном элементе возникает ошибка, например, элемент неправильно загружен Удалено в jQuery 3.0 |
событие.страницаX | Это событие происходит, когда положение мыши относительно левого края документа |
событие.страницаY | Это событие происходит, когда положение мыши относительно верхнего края документа |
event.timeStamp | Когда событие запускается, оно возвращает число миллисекунд, прошедших с 1 января 1970 года |
событие. которое | Когда событие запускается, оно возвращает номер клавиши клавиатуры или кнопки мыши, которая была нажата |
фокус() | Это событие происходит, когда выбранный элемент получает фокус |
фокусин() | Это событие происходит, когда выбранный элемент или любые элементы внутри него получают фокус |
фокусаут() | Это событие происходит, когда выбранный элемент или любые элементы внутри него теряют фокус |
наведение() | Это событие возникает при наведении указателя мыши на выбранные элементы |
нажатие клавиши() | Это событие происходит, когда клавиша клавиатуры находится в процессе нажатия |
нажатие клавиши() | Это событие происходит при нажатии клавиши клавиатуры |
клавиша () | Это событие происходит, когда клавиша клавиатуры отпускается вверх |
жить() | Это событие возникает, когда присоединяется один или несколько обработчиков событий для выбранных элементов и выполняется указанная функция Удалено в jQuery 1. 9 |
загрузка() | Это событие происходит при загрузке указанного элемента Удалено в jQuery 3.0 |
мышь вниз() | Это событие происходит при нажатии кнопки мыши на выбранном элементе |
мышь введите() | Это событие происходит, когда указатель мыши входит в выбранный элемент |
выход из мыши() | Это событие происходит, когда указатель мыши покидает выбранный элемент |
движение мыши() | Это событие возникает, когда указатель мыши перемещается в выбранном элементе |
вывод мыши() | Это событие возникает, когда указатель мыши покидает любые дочерние элементы, а также выбранный элемент |
наведение курсора() | Это событие возникает, когда указатель мыши входит в любой дочерний элемент, а также в выбранный элемент |
подведение мыши() | Это событие происходит, когда кнопка мыши отпускается над выбранным элементом |
готово() | Это событие происходит, когда объектная модель документа (DOM) полностью загружена |
выбрать() | Это событие возникает, когда текст выделен в текстовом поле или текстовой области. |
отправить() | Это событие происходит при отправке формы. |
выгрузить() | Это событие происходит, когда пользователь выполняет какое-либо действие на странице, например закрытие окна, перезагрузка страницы, кнопки «вперед/назад» и т. д. Удалено в jQuery 3.0 |
- « Предыдущий
- Далее »
JavaScript · Bootstrap v5.2
Индивидуальные или скомпилированные
Плагины могут быть включены по отдельности (используя отдельный Bootstrap js/dist/*.js
) или все сразу, используя bootstrap.js
или уменьшенный bootstrap .min.js
(не включайте оба).
Если вы используете упаковщик (Webpack, Parcel, Vite…), вы можете использовать /js/dist/*.js
файлов, готовых для UMD.
Использование с фреймворками JavaScript
Хотя Bootstrap CSS можно использовать с любым фреймворком, Bootstrap JavaScript не полностью совместим с такими фреймворками JavaScript, как React, Vue и Angular , которые предполагают полное знание DOM. И Bootstrap, и фреймворк могут попытаться видоизменить один и тот же элемент DOM, что приведет к таким ошибкам, как выпадающие списки, которые застревают в «открытом» положении.
Лучшей альтернативой для тех, кто использует этот тип фреймворков, является использование пакета для конкретного фреймворка вместо Bootstrap JavaScript. Вот некоторые из самых популярных вариантов:
- React: React Bootstrap
- Vue: BootstrapVue (в настоящее время поддерживает только Vue 2 и Bootstrap 4)
- Угловой: ng-бутстрап
Использование Bootstrap в качестве модуля
Попробуйте сами! Загрузите исходный код и рабочую демонстрацию для использования Bootstrap в качестве модуля ES из репозитория twbs/examples. Вы также можете открыть пример в StackBlitz.
Мы предоставляем версию Bootstrap, созданную как ESM
( bootstrap.esm.js
и bootstrap.esm.min.js
), которая позволяет вам использовать Bootstrap в качестве модуля в браузере, если ваши целевые браузеры поддерживают Это.
<тип скрипта="модуль"> импортировать {Toast} из 'bootstrap.esm.min.js' Array.from(document.querySelectorAll('.toast')) .forEach(toastNode => новый Toast(toastNode)) скрипт>
По сравнению с сборщиками JS, использование ESM в браузере требует использования полного пути и имени файла вместо имени модуля. Подробнее о модулях JS в браузере. Вот почему мы используем 'bootstrap.esm.min.js'
вместо 'bootstrap'
выше. Однако это еще больше усложняется нашей зависимостью Popper, которая импортирует Popper в наш JavaScript следующим образом:
import * as Popper from "@popperjs/core"
Если вы попробуете это как есть, вы увидите следующую ошибку в консоли:
Uncaught TypeError: Не удалось разрешить спецификатор модуля "@popperjs/core". Относительные ссылки должны начинаться с «/», «./» или «../».
Чтобы исправить это, вы можете использовать importmap
для преобразования произвольных имен модулей в полные пути. Если ваши целевые браузеры не поддерживают importmap
, вам нужно будет использовать проект es-module-shims. Вот как это работает для Bootstrap и Popper:
<голова> <мета-кодировка="utf-8">Здравствуй, модульность! голова> <тело>Здравствуй, модульность!
<тип сценария="импорткарта"> { "импорт": { "@popperjs/core": "https://cdn. jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js", "бутстрап": "https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/js/bootstrap.esm.min.js" } } скрипт> <тип сценария="модуль"> импортировать * как бутстрап из 'bootstrap' новый bootstrap.Popover(document.getElementById('popoverButton')) скрипт> тело>
Зависимости
Некоторые плагины и компоненты CSS зависят от других плагинов. Если вы включаете плагины по отдельности, обязательно проверьте наличие этих зависимостей в документации.
Наши раскрывающиеся списки, всплывающие окна и всплывающие подсказки также зависят от Popper.
Атрибуты данных
Почти все подключаемые модули Bootstrap можно включить и настроить только через HTML с атрибутами данных (наш предпочтительный способ использования функций JavaScript). Убедитесь, что использует только один набор атрибутов данных для одного элемента (например, вы не можете вызвать всплывающую подсказку и модальное окно с помощью одной и той же кнопки. )
Поскольку параметры могут передаваться через атрибуты данных или JavaScript, вы можете добавить имя параметра к data-bs-
, как в data-bs -анимация="{значение}"
. Обязательно измените тип регистра имени параметра с « camelCase » на « kebab-case » при передаче параметров через атрибуты данных. Например, используйте data-bs-custom-class="beautifier"
вместо data-bs-customClass="beautifier" 9.1014 .
Начиная с Bootstrap 5.2.0, все компоненты поддерживают экспериментальный зарезервированный атрибут данных data-bs-config
, который может содержать простую конфигурацию компонента в виде строки JSON. Когда элемент имеет атрибуты data-bs-config='{"delay":0, "title":123}'
и data-bs-title="456"
, окончательное значение title
будет 456
, а отдельные атрибуты данных переопределяют значения, указанные в data-bs-config
. Кроме того, существующие атрибуты данных могут содержать такие значения JSON, как 9.1013 data-bs-delay='{"показать":0,"скрыть":150}' .
Селекторы
Мы используем собственные методы querySelector
и querySelectorAll
для запроса элементов DOM из соображений производительности, поэтому вы должны использовать допустимые селекторы. Если вы используете специальные селекторы, такие как roll:Example
, обязательно избегайте их.
Events
Bootstrap предоставляет настраиваемые события для уникальных действий большинства плагинов. Как правило, они бывают в форме инфинитива и причастия прошедшего времени, где инфинитив (например, show
) запускается в начале события, а его форма причастия прошедшего времени (например, показан
) запускается при завершении действия.
Все инфинитивные события обеспечивают функциональность preventDefault()
. Это дает возможность остановить выполнение действия до его начала. Возврат false из обработчика событий также автоматически вызовет preventDefault()
.
const myModal = document.querySelector('#myModal') myModal.addEventListener('show.bs.modal', событие => { если (!данные) { return event.preventDefault() // останавливает показ модального окна } })
Programmatic API
Все конструкторы принимают необязательный объект опций или ничего (что запускает подключаемый модуль с его поведением по умолчанию):
const myModalEl = document.querySelector('#myModal') const modal = new bootstrap.Modal(myModalEl) // инициализируется значениями по умолчанию const configObject = {клавиатура: ложь} const modal1 = new bootstrap.Modal(myModalEl, configObject) // инициализируется без клавиатуры
Если вы хотите получить конкретный экземпляр плагина, каждый плагин предоставляет метод getInstance
. Например, чтобы получить экземпляр непосредственно из элемента:
bootstrap. Popover.getInstance(myPopoverEl)
Этот метод вернет null
, если экземпляр не инициирован для запрошенного элемента.
Кроме того, getOrCreateInstance
можно использовать для получения экземпляра, связанного с элементом DOM, или для создания нового, если он не был инициализирован.
bootstrap.Popover.getOrCreateInstance(myPopoverEl, configObject)
Если экземпляр не был инициализирован, он может принять и использовать необязательный объект конфигурации в качестве второго аргумента.
Селекторы CSS в конструкторах
В дополнение к методам getInstance
и getOrCreateInstance
все конструкторы подключаемых модулей могут принимать элемент DOM или допустимый селектор CSS в качестве первого аргумента. Элементы подключаемых модулей находятся с помощью метода querySelector
, поскольку наши подключаемые модули поддерживают только один элемент.
const modal = новый bootstrap. Modal('#myModal') const dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]') const offcanvas = bootstrap.Offcanvas.getInstance('#myOffcanvas') const alert = bootstrap.Alert.getOrCreateInstance('#myAlert')
Асинхронные функции и переходы
Все программные методы API являются асинхронными и возвращаются вызывающей стороне после начала перехода, но до его завершения . Чтобы выполнить действие после завершения перехода, вы можете прослушать соответствующее событие.
const myCollapseEl = document.querySelector('#myCollapse') myCollapseEl.addEventListener('показанный.bs.collapse', событие => { // Действие, выполняемое после расширения сворачиваемой области })
Кроме того, вызов метода для переходного компонента будет игнорироваться .
const myCarouselEl = document.querySelector('#myCarousel') const carousel = bootstrap.Carousel.getInstance(myCarouselEl) // Получить экземпляр карусели myCarouselEl. addEventListener('slid.bs.carousel', событие => { carousel.to('2') // Перейдет к слайду 2, как только завершится переход к слайду 1 }) carousel.to('1') // Начнет переход к слайду 1 и вернется к вызывающей стороне carousel.to('2') // !! Будет проигнорирован, т.к. переход на слайд 1 не закончен!!
метод dispose
Хотя может показаться правильным использовать метод dispose
сразу после hide()
, это приведет к неправильным результатам. Вот пример использования проблемы:
const myModal = document.querySelector('#myModal') myModal.hide() // это асинхронно myModal.addEventListener('показанный.bs.hidden', событие => { myModal.dispose() })
Настройки по умолчанию
Вы можете изменить настройки по умолчанию для подключаемого модуля, изменив его Constructor.Default
object:
// изменяет значение по умолчанию для параметра «клавиатура» модального плагина на false bootstrap. Modal.Default.keyboard = ложь
Методы и свойства
Каждый подключаемый модуль Bootstrap предоставляет следующие методы и статические свойства.
Метод | Описание |
---|---|
утилизировать |
Уничтожает модальное окно элемента. (Удаляет сохраненные данные в элементе DOM) |
getInstance |
Статический метод , позволяющий получить модальный экземпляр, связанный с элементом DOM. |
getOrCreateInstance |
Статический метод , позволяющий получить модальный экземпляр, связанный с элементом DOM, или создать новый, если он не был инициализирован. |
Статическое имущество | Описание |
---|---|
ИМЯ |
Возвращает имя подключаемого модуля. (Пример: bootstrap.Tooltip. NAME ) |
ВЕРСИЯ |
Доступ к версии каждого из подключаемых модулей Bootstrap можно получить через свойство VERSION конструктора подключаемого модуля (пример: bootstrap.Tooltip.VERSION ) |
Дезинфицирующее средство
Всплывающие подсказки и всплывающие окна используют наше встроенное дезинфицирующее средство для очистки параметров, которые принимают HTML. 9ария-[\w-]*$/i константа DefaultAllowlist = { // Глобальные атрибуты разрешены для любого предоставленного ниже элемента. ‘*’: [‘класс’, ‘каталог’, ‘идентификатор’, ‘язык’, ‘роль’, ARIA_ATTRIBUTE_PATTERN], a: [‘цель’, ‘href’, ‘название’, ‘отн’], область: [], б: [], бр: [], столбец: [], код: [], раздел: [], эм: [], час: [], ч2: [], h3: [], h4: [], h5: [], h5: [], h6: [], я: [], img: [‘src’, ‘srcset’, ‘alt’, ‘название’, ‘ширина’, ‘высота’], ли: [], ол: [], п: [], пре: [], с: [], маленький: [], охватывать: [], суб: [], Как дела: [], сильный: [], ты: [], ул: [] } 9данные-мое-приложение-[\w-]+/ myDefaultAllowList[‘*’]. push(myCustomRegex)
Если вы хотите обойти наше дезинфицирующее средство, потому что предпочитаете использовать специальную библиотеку, например DOMPurify, вам следует сделать следующее:
const yourTooltipEl = document.querySelector('#yourTooltip') const tooltip = new bootstrap.Tooltip(yourTooltipEl, { дезинфицироватьFn(содержимое) { вернуть DOMPurify.sanitize (контент) } })
Возможно использование jQuery
Вам не нужен jQuery в Bootstrap 5 , но все равно можно использовать наши компоненты с jQuery. Если Bootstrap обнаружит jQuery
в объекте window
, он добавит все наши компоненты в систему плагинов jQuery. Это позволяет вам делать следующее:
$('[data-bs-toggle="tooltip"]').tooltip() // для включения всплывающих подсказок с конфигурацией по умолчанию $('[data-bs-toggle="tooltip"]').tooltip({ border: 'clippingParents', customClass: 'myClass' }) // для инициализации всплывающих подсказок с заданной конфигурацией $('#myTooltip'). tooltip('show') // для запуска метода `show`
То же самое касается и других наших компонентов.
Нет конфликта
Иногда необходимо использовать плагины Bootstrap с другими платформами пользовательского интерфейса. В этих обстоятельствах иногда могут возникать конфликты пространств имен. Если это произойдет, вы можете вызвать .noConflict
для плагина, значение которого вы хотите восстановить.
const bootstrapButton = $.fn.button.noConflict() // вернуть $.fn.button к ранее присвоенному значению $.fn.bootstrapBtn = bootstrapButton // дать $().bootstrapBtn функциональность Bootstrap
Bootstrap официально не поддерживает сторонние библиотеки JavaScript, такие как Prototype или jQuery UI. Несмотря на .noConflict
и события, связанные с пространством имен, могут возникнуть проблемы совместимости, которые необходимо устранить самостоятельно.
События jQuery
Bootstrap обнаружит jQuery, если jQuery
присутствует в объекте window
и нет атрибута data-bs-no-jquery
, установленного для
.