Кроме методов bind/delegate/on jQuery предоставляет прямые методы для обработки событий. Эти методы, как правило, носят наименование обрабатываемого события, а в качестве параметра принимают функцию обработчика данного события:
blur
: событие потери фокуса элементом
change
: событие изменение значение элемента
click
: событие нажатия
dblclick
: двойное нажатие
focus
: получение фокуса элементом
focusin
: получение фокуса элементом или одним из его дочерних элементов
focusout
: потеря фокуса элементом или одним из его дочерних элементов
hover
: наведение указателя мыши на элемент и выход за пределы элемента
keydown
: событие нажатия клавиши клавиатуры
keyup
: отжатие клавиши
mousedown
: нажатие мыши на элемент
mouseup
: отжатие кнопки мыши
mouseenter
: наведение указателя мыши на элемент
mouseleave
: выход указателя мыши за границы элемента
mousemove
: перемещение указателя мыши в пределах элемента
mouseout
: выход указателя мыши за границы элемента
mouseover
: наведение указателя мыши на элемент
ready
: загрузка структуры DOM элемента
resize
: измение размеров окна браузера
scroll
: событие прокрутки элемента
select
: выделение текста
submit
: отправка формы
Принцип действий всех вышеперечисленных методов одинаков: если мы вызываем метод без параметра, то тем самым генерируем событие; а если передаем в качестве параметра функцию - то тем самым мы устанавливаем обработчик для данного события. Например:
<button>Кнопка 1</button> <button>Кнопка 2</button> <script type="text/javascript"> $(function(){ $('button').first().click(function(){ $(this).css('background-color', 'silver'); }); $('button').last().click(function(){ $('button').first().click(); }); }); </script>
В данном случае для двух кнопок мы добавляем обработчики события click
, то есть нажатия. Обработчик первой кнопки просто
устанавливает цвет нажатой кнопки (которую мы получаем с помощью выражения $(this)
).
Для второй кнопки также устанавливается обработчик в виде функции, передаваемой в метод click
. Только теперь обработчик
инициирует событие нажатия для первой кнопки: $('button').first().click();
.
Таким образом, в зависимости от задачи и предпочтений мы можем использовать либо методы bind/delegate/on для регистрации обработчиков событий, либо
вышеприведенные методы типа click
или mouseenter
.