one()
30
посл. ред.
23.08.2016
Метод one()
используется для установки обработчика события, который запустится только один раз для каждого элемента. Установка обработчиков событий данным методом аналогична работе метода on()
.
Варианты использования
jQ_object.one(имя_события[, селектор][, данные], обработчик) => jQuery
- Устанавливает один общий обработчик на одно или несколько событий.
jQ_object.one({
имя_события-1: обработчик-1,
имя_события-2: обработчик-2,
...}[, селектор][, данные]) => jQuery- Отдельно устанавливает обработчики различных событий.
имя_события
- Строка, в которой через пробел указаны названия событий. В названии события можно использовать пространства имён. Обработчик сработает по одному разу для каждого указанного типа события.
селектор
- Селектор для поиска элемента внутри исходного (на котором установлен обработчик). Обработчик будет запущен только в том случае, если событие всплывает от найденного элемента (элемент не обязательно должен быть целевым). Используется для делегирования событий.
данные
- Данные в любом формате, которые будут доступны в объекте события в свойстве
event.data
. обработчик
- Функция, которая запустится по одному разу для каждого указанного типа события. Значение
false
соответствует установке
.function() {return false;}
Примеры
<html> <head> <title>Работа с событиями в jQuery</title> <script type="text/javascript" src="js/jquery.js"></script> </head> <body> <button>Добавить рамку</button> <p>Параграф</p> </body> </html> <script> /* Рисует рамку и устанавливает обработчик кнопки */ function addBorder() { $('p').css('border', '2px solid red'); $('button') .one('click', removeBorder) .text('Удалить рамку'); } /* Убирает рамку и устанавливает обработчик кнопки */ function removeBorder() { $('p').css('border', ''); $('button') .one('click', addBorder) .text('Добавить рамку'); } $('button').one('click', addBorder); </script>
Параграф