Однократное событие в 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 алертом при нажатии на любой из них, но только по первому нажатию. Повторное нажатие на инпут не должно вызывать реакции.

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

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