Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 何时选择mouseover()和hover()函数?_Jquery_Mouseevent - Fatal编程技术网

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

Jquery 何时选择mouseover()和hover()函数?,jquery,mouseevent,Jquery,Mouseevent,jQuery.mouseover()和.hover()函数之间有什么区别?如果它们完全相同,为什么jQuery同时使用这两个?.hover()函数接受两个函数参数,一个用于mouseenter事件,另一个用于mouseleave事件。来自官方文档:() .hover()方法绑定mouseenter和mouseleave事件的处理程序。您可以使用它在鼠标位于元素内期间简单地将行为应用于元素 正如你在 mouseenter JavaScript事件是Internet Explorer专有的。 由于该

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

.hover()
函数接受两个函数参数,一个用于
mouseenter
事件,另一个用于
mouseleave
事件。

来自官方文档:()

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

正如你在

mouseenter JavaScript事件是Internet Explorer专有的。 由于该事件的通用工具,jQuery模拟该事件 无论浏览器是什么,都可以使用它。此事件将发送到 当鼠标指针进入元素时。任何HTML元素 您可以接收此事件

来自正式jQuery文档

  • 将事件处理程序绑定到“mouseover”JavaScript事件或触发器 元素上的事件

  • 绑定一个或两个处理程序 到匹配的元素,当鼠标指针 进入和离开元素

    调用
    $(选择器)。悬停(handlerIn,handlerOut)
    是以下内容的简写:
    $(选择器).mouseenter(handlerIn.mouseleave(handlerOut)


  • 绑定鼠标进入元素时要激发的事件处理程序, 或者在元素上触发该处理程序

    mouseover
    当指针移动到子元素中时激发 嗯,而
    mouseenter
    仅当指针移动到 绑定元素


这意味着什么 因此,
.mouseover()
.hover()
不同,原因与
相同。mouseover()
.mouseenter()不同

您可以在jQuery文档页面上进行尝试。这是一个很好的互动演示,非常清晰,你可以自己看


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

这不是重复的问题。您提供的链接有mouseover和mouseenter事件,但我的链接是mouseover和hover事件。它们与mouseover和mouseleave不同,下面接受的答案不准确。。。鼠标悬停功能可添加鼠标指针和鼠标移动事件而不是鼠标指针和鼠标移动事件。请将鼠标从
el
元素移动到
子元素,然后检查console@ArunPJohny请重新阅读,这是说mouseenter和mouseleave不是mouseover和mouseout。还有hover-如果你能分析控制台,你可以发现其中的差异……这是问题标题中提到的两个函数之间差异的一个重要方面,谢谢!查看w3schools上的以下链接,了解.hover()的工作原理:
$('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)