【发布时间】:2013-08-05 14:21:20
【问题描述】:
这个问题与信息有关。我是 jquery 的新手。我在 HTML 和 CSS 方面经验丰富。
Jquery 中的 Hover 和 Mouseover 有什么区别。 当鼠标悬停在一个元素上时,它们不是都被激活了吗?
【问题讨论】:
-
您阅读文档了吗?
这个问题与信息有关。我是 jquery 的新手。我在 HTML 和 CSS 方面经验丰富。
Jquery 中的 Hover 和 Mouseover 有什么区别。 当鼠标悬停在一个元素上时,它们不是都被激活了吗?
【问题讨论】:
mouseover():为该元素的子元素触发事件。
hover(): Hover 实际上与mouseenter 和mouseleave 一起工作,而不会触发儿童。
要实现悬停效果,我们需要mouseover 和mouseout 事件
$("element").mousover(function(){
//do something over
}).mouseout(function() {
//do something out
});
而在 hover() 中它只是一个回调。
$("element").hover(
function () {
//do something enter
},
function () {
//do something exit
}
);
来自大卫琼斯的experience:
在我从事的项目中,我 设置一个容器 div 以使用 mouseover 和 mouseout 添加一些 html标签到容器。这看起来很好,但我 发现使用 mouseover/mouseout 意味着添加的 html 保留 当我试图与其他人互动时消失 jquery 我有与之冲突的地方。
最后我的特殊解决方案要求我使用 mouseenter 和 mouseleave 使用实时功能而不是使用悬停,因为我 正在使用生成的 html。
【讨论】:
hover() 函数更高级 - 它被构建为调用函数来处理 mouseenter 事件和 mouseleave 事件。这对于具有悬停和正常状态的 UI 元素(例如按钮)非常方便。
mouseover() 函数专门绑定到 mouseover 事件。最好的情况是您只关心鼠标何时越过边界进入一个元素,而您并不真正关心如果它离开会发生什么。当您想在某个元素上触发事件时,它也是要调用的函数。
解释来自: http://www.quora.com/jQuery/What-is-the-difference-between-the-hover-and-mouseover-functions
【讨论】: