2016-03-04 71 views
1

请你告诉我怎么去除的keydown。我做以下步骤如何在删除的keydown悬停类?

1)将鼠标悬停在第二个项目。它适用于第二项“B”悬停类

悬停类现在,如果用户按keydown事件代码40。它从元素中删除悬停类?我如何从keydown事件中移除悬停类?

demo

$(function() { 
    $('#main-menu').on({ 
     mouseenter: function() { 
      console.log("mouse over") 
     }, 
     mouseleave: function() { 
      console.log("mouse leave") 
     } 
    }); 



}) 

$(document).on('keyup', function(event) { 

    if (event.which == 40) { // 40 is Array key down event code 
     console.log('remove focus or hover from selected item '); 

    } 
}) 
+0

对于任何人谁不知道上面的键码的这头.. 40是'方向键down'。 – A1rPun

+0

如果用户从未徘徊过任何元素,会发生什么情况? – brothers28

+0

仅供参考,KEYDOWN!= KEYUP ... –

回答

1

请你告诉我怎么上的keydown

悬停删除悬停类是不是一类,你需要做一个,并添加/删除相同的上mousenter和mouseleave。

试试这个fiddle

$('#main-menu').on("mouseenter", "li", function() { 
    $(this).addClass("hover"); 
}); 
$('#main-menu').on("mouseleave", "li", function() { 
    $(this).removeClass("hover"); 
}); 

$(document).ready(function(){ 

    $("li").first().focus(); 

    $(document).keydown(function() { 
     console.log(event.which); 
     if(event.which==40) 
     { 
      console.log('remove focus or hover from selected item '); 
      $("li.hover").removeClass("hover").next().addClass("hover"); 
     } 
    }); 

});