何时选择mouseover()和hover()函数

时间:2013-07-11 09:09:47

标签: jquery

jquery .mouseover().hover()函数之间有什么区别?如果它们完全相同,为什么jQuery会同时使用它们?

5 个答案:

答案 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元素   可以收到这个活动。