Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
Javascript 我们如何使用“mouseover”和“mouseout”事件?_Javascript_Jquery_Mouseover - Fatal编程技术网

Javascript 我们如何使用“mouseover”和“mouseout”事件?

Javascript 我们如何使用“mouseover”和“mouseout”事件?,javascript,jquery,mouseover,Javascript,Jquery,Mouseover,正如JQuery文档所说,我已经将许多行mouseover转换为mouseenter,因为它不会触发多次 mouseover当指针移动到子元素中时也会触发 mouseenter仅当指针移动到绑定元素时才会激发 即使是悬停事件也可以用作mouseenter和mouseleave,而不是mouseover和mouseout 这让我想知道,如果mouseenter可以完成所有任务,为什么会出现mouseover事件 对我来说,mouseover在元素上移动鼠标时会意外触发。它似乎真的取决于子元素的深

正如JQuery文档所说,我已经将许多行mouseover转换为mouseenter,因为它不会触发多次

mouseover
当指针移动到子元素中时也会触发

mouseenter
仅当指针移动到绑定元素时才会激发

即使是
悬停
事件也可以用作mouseenter和mouseleave,而不是mouseover和mouseout

这让我想知道,如果
mouseenter
可以完成所有任务,为什么会出现
mouseover
事件

对我来说,
mouseover
在元素上移动鼠标时会意外触发。它似乎真的取决于子元素的深度


是否有需要多次触发的
mouseover
mouseout
的良好用例?

,因为事件包含光标坐标。
因此,如果您需要跟踪目标下的鼠标坐标,您必须使用我知道的“mouseover”

,mouseover/
mouseout
根本没有使用案例。它们存在的唯一原因是因为这些事件是由浏览器触发的,因为
mouseenter
mouseleave
不是标准事件,但它们是特定于jQuery的构造

我认为,如果您希望在将鼠标移到事件绑定到的元素的子元素上并将其移出时触发事件,则会出现一个用例。我想不出任何具体的东西,但至少这个功能是可用的。如果只有
mouseenter
/
mouseleave
存在,你就别无选择了

发件人:


推测:jQuery的创建者之所以创建了
mouseenter
mouseleave
非标准事件,是因为他们的行为与您期望的
mouseover
/
mouseout
事件一样有效(即不考虑后代).

我认为那是
mousemove
mouseover
mouseout
是W3C官方标准的一部分,另外两项是微软(有用的)发明。它们可能同时出现,这就解释了为什么现在有两种方法,而且在某些情况下,这两种方法都可能有用。现在,我知道你想知道什么情况。我只是想简单地概述一下它们的起源。@Bergi的可能重复项我认为这个问题与重复项不匹配,因为这个特定的问题是询问
mouseover
/
mouseout
的用例,同时已经理解了与
mouseenter
/
mouseleave
@Bergi的区别,我理解其中的区别,只是对用例很好奇。
mouseenter
mouseleave
来自IE。在jQuery中输入
/
离开
气泡吗?
jQuery.each({
    mouseenter: "mouseover",
    mouseleave: "mouseout"
}, function( orig, fix ) {
    /* content snipped */