在JQuery中hover鼠标hover的任何优点?
我是JQuery API的新手。 我一直在使用鼠标hover,但我以前从未使用过hover。 所以我想知道我是否应该使用hover代替。
好吧, .hover()
为事件mouseenter
和mouseleave
绑定两个处理程序,因此它更方便,也更容易理解目的。
mouseenter
与mouseover
不同,只要游标结束/进入处理程序绑定到的元素的子元素, 就不会触发mouseenter
。
当光标进入元素时,它只被触发一次。 即使光标位于子元素上,也始终触发mouseover
。
查看差异的最佳方法是查看mouseleave()
的示例。
此外, mouseover
和mouseout
是真正的JavaScript事件,而mouseenter
和mouseleave
是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 } })