# Однократное событие в jQuery

Когда мы изучали отвязывание событий с помощью метода `off`, мы использовали следующую конструкцию:

`$('li').on('click', function() { $(this).append('!'); $(this).off('click', func); });`

Сначала мы прикрепляли функцию-обработчик с помощью `on`, затем отвязывали с помощью `off`.

В jQuery есть удобный метод `one`, который позволяет привязать однократное событие - оно выполнится только только один раз, а потом автоматически отвяжется. Этот метод первым параметром принимает тип события, а вторым - привязанную функцию.

Следующй пример мы рассмотрим на основе нижеприведенного HTML кода:

`<ul> <li>text</li> <li>text</li> <li>text</li> </ul>`

CSS код выглядит так:

`li { width: 100px; cursor: pointer; }`

Теперь к каждой `li` привязываем однократное событие:

`$('li').one('click', function() { $(this).append('!'); });`

Понажимайте на пункты списка. Как видите, мы получили тот же эффект, благодаря методу `one`.

Привяжите всем ссылкам событие - по наведению на ссылку в конец ее текста дописывается ее `href` в круглых скобках. После первого наведению на ссылку следует отвязать от нее событие, которое добавляет `href` в конец текста.

Для всех инпутов сделайте так, чтобы они выводили свой `value` алертом при нажатии на любой из них, но только по первому нажатию. Повторное нажатие на инпут не должно вызывать реакции.

Даны абзацы с числами. По клику на абзац в нем должен появится квадрат числа, которое он содержит, но только по первому клику. По двойному клику на абзац число в абзаце должно удвоится, но тоже только первый раз.

Даны абзацы. Сделайте так, чтобы по первому клику на абзац ему в конец добавлялся `'!'`, но только по первому клику.

← →
↑