Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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

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鼠标悬停问题_Javascript_Jquery_Mouseevent_Mouseover - Fatal编程技术网

很难解释,一个奇怪的javascript鼠标悬停问题

很难解释,一个奇怪的javascript鼠标悬停问题,javascript,jquery,mouseevent,mouseover,Javascript,Jquery,Mouseevent,Mouseover,我有一个盒子(黑边的)。我有一个处理程序来处理这个盒子的mouseout事件。问题是当鼠标悬停在该框(红色边框框和蓝色边框框)内的某个项目上时(比如div)。触发黑框事件的mouseout或mouseleave 我在谷歌上搜索了三天,但没有找到任何解决这个问题的方法。当鼠标位于框的边界内时,为什么在框内触发mouseleave/out事件。div的位置为“绝对”。我尝试使用核心JavaScript和JQuery。确保按钮顶部没有其他选择器。例如,如果您有一个带填充的div,并且其中有一个标记,则

我有一个盒子(黑边的)。我有一个处理程序来处理这个盒子的mouseout事件。问题是当鼠标悬停在该框(红色边框框和蓝色边框框)内的某个项目上时(比如div)。触发黑框事件的
mouseout
或mouseleave


我在谷歌上搜索了三天,但没有找到任何解决这个问题的方法。当鼠标位于框的边界内时,为什么在框内触发mouseleave/out事件。div的位置为“绝对”。我尝试使用核心JavaScript和JQuery。

确保按钮顶部没有其他选择器。例如,如果您有一个带填充的div,并且其中有一个标记,则当您的鼠标从div移动到标记时,mouseleave事件将触发,即使您在该div中。解决方案是什么?将边框、鼠标和填充直接添加到标签。

确保按钮顶部没有其他选择器。例如,如果您有一个带填充的div,并且其中有一个标记,则当您的鼠标从div移动到标记时,mouseleave事件将触发,即使您在该div中。解决方案是什么?将边框、鼠标移出和填充直接添加到标记。

jQuery的
.live
已被弃用,请使用
.on

此外,使用
mouseout
意味着当鼠标离开所选元素或该元素的任何子元素时,会触发事件<代码>鼠标移动仅适用于所选元素

  $('.nocMenuContainer').on('mouseleave',function(){     
       alert('bye');
  });

jQuery的
.live
已被弃用,请使用
.on

此外,使用
mouseout
意味着当鼠标离开所选元素或该元素的任何子元素时,会触发事件<代码>鼠标移动仅适用于所选元素

  $('.nocMenuContainer').on('mouseleave',function(){     
       alert('bye');
  });

这里有一个很好的文档。它可以帮助您理解在框内移动鼠标时触发事件的原因;它还提出了一种区分外部和内部移动的解决方案。

网站上有很好的文档。它可以帮助您理解在框内移动鼠标时触发事件的原因;它还提出了一种区分外部和内部移动的解决方案。

我也遇到了类似的问题,但浏览器的行为非常正常。
mouseenter
mouseleave
事件没有像您预期的那样在所有覆盖的dom元素上传播。
对于您需要它的情况,我开发了一个小程序。
正如您在示例中所看到的,唯一的区别是您通过方法
superBind
绑定事件,而不是通常的方法(
bind
live
on
。等等)。

希望这有帮助

我也遇到了类似的问题,但浏览器的行为非常正常。
mouseenter
mouseleave
事件没有像您预期的那样在所有覆盖的dom元素上传播。
对于您需要它的情况,我开发了一个小程序。
正如您在示例中所看到的,唯一的区别是您通过方法
superBind
绑定事件,而不是通常的方法(
bind
live
on
。等等)。

希望这有帮助

你有你的代码片段吗?事实上,当我试图用这个问题发布图像时,系统说声誉低于10的用户不能发布图像,真的很抱歉,请将你的源代码放到jsfiddle.net并发送给我们URL,将图像托管在某处,发布URL,这里有人会将其嵌入帖子中。我希望人们能停止像这样的负面投票问题。给他一个机会。你有你的代码片段吗?事实上,当我试图用这个问题发布图像时,系统说信誉低于10的用户不能发布图像,真的很抱歉,把你的源代码放在jsfiddle.net并发送给我们URL主机图像的某处,发布URL,这里有人会将其嵌入帖子中。我希望人们能停止像这样的负面投票问题。给这个家伙一个机会。+1您的意思是
mouseleave
仅适用于所选元素。+1您的意思是
mouseleave
仅适用于所选元素。您可以向标记添加填充和边框,而不是标记,然后将鼠标悬停在标记上而不是标记上时触发的事件更改为。您可以将填充和边框添加到标记而不是标记上,然后将鼠标悬停在标记上而不是标记上时触发的事件更改为。