在JQuery中hover鼠标hover的任何优点?

我是JQuery API的新手。 我一直在使用鼠标hover,但我以前从未使用过hover。 所以我想知道我是否应该使用hover代替。

好吧, .hover()为事件mouseentermouseleave绑定两个处理程序,因此它更方便,也更容易理解目的。

mouseentermouseover不同,只要游标结束/进入处理程序绑定到的元素的子元素, 就不会触发mouseenter
当光标进入元素时,它只被触发一次。 即使光标位于子元素上,也始终触发mouseover

查看差异的最佳方法是查看mouseleave()的示例。

此外, mouseovermouseout是真正的JavaScript事件,而mouseentermouseleave是jQuery(afaik)提供的事件。

最后,这取决于你想要达到的目标。 没有对错,所有这些方法都有其目的。 除非你展示一些代码,否则没有更多的话要说。


如果你的意思是:hover在CSS中你可以用它实现所需的效果,那就去吧。 如果针对某个问题存在非JS解决方案,请始终选择此解决方案。

只需在一个函数中执行操作, hover只会使您不必同时执行hover操作。

我更喜欢使用css hover,因为我似乎写了较少的代码来做同样的事情。

它们是相同的,除了hover处理mouseenter和mouseleave

请参阅: http : //api.jquery.com/hover/

所以你可以像这样使用它

 $('selector').hover(function () { // Do stuff on mouse enter }, function () { // Do other stuff on mouse leave } ) 

既然你正在学习,这里有另一个等同于使用hover:

 $('selector').bind('mouseenter mouseleave', function(){ if (event.type == "mouseenter") { // MouseEnter code } else { // MouseLeave code } })