jquery .mouseover()
和.hover()
函数之间有什么区别?如果它们完全相同,为什么jQuery会同时使用它们?
答案 0 :(得分:99)
.mouseover()
:source
将事件处理程序绑定到“mouseover”JavaScript事件,或在元素上触发该事件。
.hover()
:source
将一个或两个处理程序绑定到匹配的元素,当鼠标指针进入并且离开元素时执行。
致电$(selector).hover(handlerIn, handlerOut)
是以下的简写:
$(selector).mouseenter(handlerIn).mouseleave(handlerOut);
.mouseenter()
:source
绑定要在鼠标进入元素时触发的事件处理程序,或触发元素上的处理程序。
当指针移动到子元素时, 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)
答案 1 :(得分:29)
.hover()
函数接受两个函数参数,一个用于mouseenter
事件,另一个用于mouseleave
事件。
答案 2 :(得分:6)
您可以在jQuery文档页面上试用http://api.jquery.com/mouseover/。这是一个很好的小型互动演示,它非常清晰,你可以亲自看看。
简而言之,您会注意到当一个元素在它上面时会发生一个鼠标悬停事件 - 来自它的子OR或父元素,但鼠标输入事件仅在鼠标从父元素移动到元素。
答案 3 :(得分:1)
来自官方文档:(http://api.jquery.com/hover/)
.hover()方法为mouseenter和mouseleave事件绑定处理程序。您可以使用它在鼠标位于元素中时简单地将行为应用于元素。
答案 4 :(得分:1)
您可以在http://api.jquery.com/mouseenter/
阅读mouseenter JavaScript事件是Internet Explorer专有的。 由于事件的一般实用程序,jQuery模拟了这个事件 无论浏览器如何都可以使用它。此事件发送给 鼠标指针进入元素时的元素。任何HTML元素 可以收到这个活动。