2016-03-04 66 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"); 
     } 
    }); 

});