В чем разница между jQuery .mouseover()
и .hover()
функциями? Если они абсолютно одинаковы, почему jQuery использует оба?
el
элемента к child
консоли и проверьте консоль
В чем разница между jQuery .mouseover()
и .hover()
функциями? Если они абсолютно одинаковы, почему jQuery использует оба?
el
элемента к child
консоли и проверьте консоль
Ответы:
.mouseover()
.hover()
Привяжите один или два обработчика к согласованным элементам, которые будут выполняться, когда указатель мыши
входит и покидает элементы.
Звонок $(selector).hover(handlerIn, handlerOut)
- это сокращение от:
$(selector).mouseenter(handlerIn).mouseleave(handlerOut);
Привяжите обработчик события, который будет запускаться, когда мышь входит в элемент, или активируйте этот обработчик для элемента.
mouseover
срабатывает, когда указатель перемещается также в дочерний элемент, а mouseenter
срабатывает только тогда, когда указатель перемещается в связанный элемент.
Из - за этого, .mouseover()
это не то же самое , как .hover()
, по той же причине , .mouseover()
это не то же самое .mouseenter()
.
$('selector').mouseover(over_function) // may fire multiple times
// enter and exit functions only called once per element per entry and exit
$('selector').hover(enter_function, exit_function)
.hover()
Функция принимает два аргумента функции, один для mouseenter
события и один для mouseleave
события.
Вы можете попробовать http://api.jquery.com/mouseover/ на странице документации jQuery. Это приятная небольшая интерактивная демонстрация, которая очень наглядно демонстрирует, и вы действительно можете убедиться в этом сами.
Короче говоря, вы заметите, что событие наведения указателя мыши происходит на элементе, когда вы над ним - исходящее либо от его дочернего ИЛИ родительского элемента, но событие ввода мыши возникает только тогда, когда мышь перемещается от родительского элемента к элементу.
Из официальных документов: ( http://api.jquery.com/hover/ )
Метод .hover () связывает обработчики событий mouseenter и mouseleave. Вы можете использовать его, чтобы просто применить поведение к элементу, пока мышь находится внутри элемента.
Как вы можете прочитать на http://api.jquery.com/mouseenter/
Событие mouseenter JavaScript является собственностью Internet Explorer. Из-за общей полезности события jQuery имитирует это событие, так что его можно использовать независимо от браузера. Это событие отправляется элементу, когда указатель мыши входит в элемент. Любой HTML-элемент может получить это событие.