jquery悬停一次?

Ste*_*fin 7 jquery

什么是让hover函数执行一次然后停止的jquery方法?

.one()没有工作..

$(".button-color-2").hover(
  function (){
   dosmth(); 
});
Run Code Online (Sandbox Code Playgroud)

谢谢

Piy*_*too 14

HoverMouse EnterMouse Leave事件绑定处理程序,并且它本身不是一个事件.因此,为了获得与Hover相同的效果,您将有两个将触发一次的绑定.

$(".button-color-2").one("mouseenter mouseleave", function(e){
dosmth();
});
Run Code Online (Sandbox Code Playgroud)

如果你想在mouseenter和mouseleave上做不同的事情,那么绑定两个不同的处理程序

$(".button-color-2").one("mouseenter", function(e){
dosmth1();
}).one("mouseleave", function(e){
dosmth2();
});
Run Code Online (Sandbox Code Playgroud)

另一种选择是使用Hover,然后在完成后取消绑定.

$('.button-color-2').hover(function() {
dosmth();
$(this).unbind('mouseenter mouseleave')
});
Run Code Online (Sandbox Code Playgroud)