События jQuery
Практически каждому событию JavaScript соответствует свой метод jQuery. К примеру, клик по элементам можно отловить так:
$(селектор).click(функция)
Список методов jQuery, которые можно использовать для привязки событий:
clickblurfocusfocusinfocusoutloadresizescrollunloadclickdblclickmousedownmouseupmousemovemouseovermouseoutmouseentermouseleavechangeselectsubmitkeydownkeypresskeyuperror
Давайте сделаем так, чтобы по клику на любую li алертом выводился восклицательный знак:
<ul>
<li>пункт 1</li>
<li>пункт 2</li>
<li>пункт 3</li>
</ul>
<script>
$('li').click(function() {
alert('!');
});
</script>
Внутри привязанной функции доступен this, ссылающийся на тот элемент, в котором произошло событие, в нашем случае на li, по которому был клик. this можно использовать в стиле JavaScript, например так this.innerHTML или в стиле jQuery — для этого this следует обернуть в $:
$(this)
Давайте сделаем так, чтобы по клику на li ей в конец добавлялся восклицательный знак:
<ul>
<li>пункт 1</li>
<li>пункт 2</li>
<li>пункт 3</li>
</ul>
<script>
$('li').click(function() {
$(this).append('!');
});
</script>
Универсальный метод on
Для привязывания событий можно использовать универсальный метод on. Первым параметром он принимает название события click, а вторым функцию которую следует привязать.
$('li').on('click', function() {
$(this).append('!');
});
Несколько событий одновременно
Можно одновременно привязать одну функцию на несколько типов событий, для этого их нужно перечислить их через пробел:
$('li').on('click mousemove', function func() {
какой-то код;
});
Делегирование событий
$('ul').on('click', 'li', function() {
$(this).append('!');
});