jQuery метод .hover()
Определение и применение
jQuery метод .hover() связывает один или два обработчика событий для элемента, которые будут выполнены, когда указатель мыши находится на элементе и при его отведении.
jQuery синтаксис:
Синтаксис 1.0:
$( selector ).hover( handlerIn, handlerOut )handlerIn - Function( Event eventObject )
handlerOut - Function( Event eventObject )
Синтаксис 1.4:
$( selector ).hover( handlerInOut )handlerInOut - Function( Event eventObject )
Метод .hover() объединяет обработчики событий "mouseenter" (срабатывает, когда указатель мыши заходит на элемент) и "mouseleave" (срабатывает, когда указатель мыши выходит из элемента) и при вызове с двумя функциями в качестве параметров является короткой записью вызова методов .mouseenter() и .mouseleave():
$( selector ).mouseenter( handlerIn ).mouseleave( handlerOut );
Обратите внимание, что если в качестве параметра метода передается только одна функция, то она будет вызвана как при наведении указателя мыши на элемент, так и при выходе курсора с элемента.
Добавлен в версии jQuery
1.0 (синтаксис обновлен в версии 1.4)Значения параметров
| Параметр | Описание |
|---|---|
| handlerIn |
Функция, которая срабатывает, когда указатель мыши заходит на элемент. Функция в качестве параметра может
принимать объект Event.
|
| handlerIn |
Функция, которая срабатывает, когда указатель мыши выходит из элемента. Функция в качестве параметра может
принимать объект Event.
|
| handlerInOut |
Функция, которая срабатывает, когда указатель мыши заходит на элемент и выходит из элемента. Функция в
качестве параметра может принимать объект Event.
|
Пример старого кода
Пример использования jQuery метода .hover() (две функции)
Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.
index.html
<div></div>
main.js
$(document).ready(function () {
$('div').hover(
function () {
$('div').css('background', 'green').text('Курсор на элементе')
},
function () {
$('div').css('background', 'red').text('Курсор вышел из элемента')
}
)
})
style.css
div {
width: 150px;
height: 150px;
border: 1px solid green;
}
Нажмите ▶, чтобы запустить пример.
В этом примере с использованием jQuery метода .hover() мы при наведении курсором мыши на элементе
<div>
задаем функцию, которая с использованием метода
.css()
задает цвет заднего фона элемента, а с использованием метода
.text()
задаем текстовое содержимое. После того как указатель выходит из элемента срабатывает вторая функция, которая также
изменяет цвет заднего фона и изменяет текстовое содержимоей элемента
<div>.
Рассмотрим следующий пример в котором передадим в качестве параметра метода .hover() одну функцию:
Пример использования jQuery метода .hover() (одна функция)
Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.
index.html
<div></div>
main.js
$(document).ready(function () {
$('div').hover(function () {
$(this).toggleClass('background-red')
})
})
style.css
div {
width: 150px;
height: 150px;
border: 1px solid red;
background: green;
}
.background-red {
background: red;
}
Нажмите ▶, чтобы запустить пример.
В этом примере с использованием jQuery метода .hover() мы при наведении курсором мыши на элементе
<div>
задаем функцию, которая с использованием метода
.toggleClass()
добавляет класс элементу при наведении, и убирает класс у элемента, когда курсор выходит за элемент, то есть мы
используем одну функцию для двух событий.