jQuery奇怪的行为与悬停

时间:2012-03-17 17:17:13

标签: jquery jquery-ui hover addclass

我有一个奇怪的问题,jQuery的悬停,addClass

$(document).ready(function(){
    $('#selectable li').hover(
            function(){
                $(this).addClass('selecting', 600);
            },
            function(){
                $(this).removeClass('selecting', 800);
            }
    );

});

现在奇怪的是所选元素亮了两次。怎么会这样?我该怎么做以防止两次点亮?

最诚挚的问候, B.凯撒

1 个答案:

答案 0 :(得分:0)

尝试使用此类替代方法:

$('#selectable li').on('mouseenter',function(){
  $(this).addClass('selecting');
}).on('mouseleave',function(){
  $(this).removeClass('selecting');
});

你需要一个当前版本的jQuery。 ver 1.7+

您不太确定要使用addClass/removeClass来电中的数字参数来完成此操作。 jQuery documentation定义了以下函数:

  

http://api.jquery.com/addClass/

     

.addClass(className)
  className要添加的一个或多个类名   每个匹配元素的class属性。

     

.addClass(function(index,currentClass))
  function(index,currentClass)返回一个或多个空格分隔类的函数   要添加到现有类名的名称。收到索引   集合中元素的位置和现有的类名称   参数。在函数内,这指的是当前元素   集合。

removeClass() documentation的工作方式也大致相同。