何时selectmouseover()和hover()函数

jquery .mouseover().hover()函数有什么.hover() ? 如果他们完全相同,为什么jQuery同时使用?

从文档

.mouseover() : 来源

将事件处理程序绑定到“mouseover”JavaScript事件,或在元素上触发该事件。

.hover() : 源码

将一个或两个处理程序绑定到匹配的元素,当鼠标指针进入离开元素时执行。

调用$(selector).hover(handlerIn, handlerOut)是简写: $(selector).mouseenter(handlerIn).mouseleave(handlerOut);

.mouseenter() : 来源

绑定事件处理程序,当鼠标进入元素时触发,或触发元素上的处理程序。

当指针移动到子元素时, mouseover也会触发,而mouseenter只有在指针移动到绑定元素时才会触发。

这是什么意思

因此, .mouseover().hover() ,因为.hover().mouseover() 一样。

 $('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事件。

你可以在jQuery doc页面上试试http://api.jquery.com/mouseover/ 。 这是一个很好的小交互式演示,非常清晰,你可以亲眼看到。

简而言之,您会注意到当鼠标hover在某个元素上时发生了鼠标hover事件 – 来自其子元素或父元素,但只有在鼠标从父元素移动到元素时才会发生鼠标input事件。

从官方文档:( http://api.jquery.com/hover/

.hover()方法为mouseenter和mouseleave事件绑定处理程序。 您可以使用它在鼠标位于元素内时简单地将行为应用于元素。

正如你可以阅读http://api.jquery.com/mouseenter/

mouseenter JavaScript事件是Internet Explorer专有的。 由于事件的一般效用,jQuery模拟这个事件,所以它可以在浏览器中使用。 当鼠标指针进入元素时,这个事件被发送到一个元素。 任何HTML元素都可以接收此事件。