7

This question is info related. Im new to jquery. I am pretty experienced in HTML & CSS.

What is the difference between Hover & Mouseover in Jquery. Ain't they both activated when hovering over an element.

4

2 回答 2

9

mouseover(): 该元素的子元素的触发事件。

hover():悬停实际上可以在有mouseentermouseleave没有为孩子射击的情况下工作。

要实现悬停效果,我们需要mouseovermouseout事件

$("element").mousover(function(){ 
    //do something over
}).mouseout(function() { 
    //do something out
});

而在 hover() 中,它只是一个回调。

$("element").hover(
  function () {
    //do something enter
  }, 
  function () {
    //do something exit
  }
);

根据大卫琼斯的经验

在我正在处理的项目中,我设置了一个容器 div 以使用 mouseover 和 mouseout,这向容器添加了一些 html 选项卡。这看起来非常好,但我发现使用 mouseover/mouseout 意味着当我尝试与它交互时,添加的 html 会不断消失,而我拥有的另一个 jquery 与之冲突。

最后,我的特定解决方案要求我将 mouseenter 和 mouseleave 与实时功能一起使用,而不是使用悬停,因为我正在使用生成的 html。

于 2013-08-05T14:48:53.497 回答
6

hover() 函数更高级 - 它被构建为调用函数来处理 mouseenter 事件和 mouseleave 事件。对于具有悬停和正常状态的 UI 元素(例如按钮)来说,这非常方便。

mouseover() 函数专门绑定到 mouseover 事件。最好的情况是您只关心鼠标何时越过边界进入一个元素,而您并不真正关心如果它离开会发生什么。当您想在某个元素上触发事件时,它也是要调用的函数。

解释来自: http ://www.quora.com/jQuery/What-is-the-difference-between-the-hover-and-mouseover-functions

于 2013-08-05T14:28:48.783 回答