one()
33
посл. ред.
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>
Параграф