使用键盘Javascript触发此操作

时间:2013-09-21 20:01:04

标签: javascript jquery triggers keyboard

所以我有一个很小的功能来滑动和隐藏页脚和其他元素,两个.click功能都运行良好但我没有得到键盘响应,我的问题,有没有办法触发相同的功能,而不必重复它同时使用.click事件和键盘触发器?

$(function () { 
        $("#downmenu").click(function(){
            $("#filo").slideToggle("fast");
            $("#downmenu").css("display", "none");
            $("#upmenu").css("display", "block");
        });
        $("#upmenu").click(function(){
            $("#filo").slideToggle("fast");
            $("#downmenu").css("display", "block");
            $("#upmenu").css("display", "none");
        });
        if ((event.keyCode == 40)) {
            $("#filo").slideToggle("fast");
            $("#downmenu").css("display", "none");
            $("#upmenu").css("display", "block");                   
        } else if ((event.keyCode == 38)) {
            $("#filo").slideToggle("fast");
            $("#downmenu").css("display", "block");
            $("#upmenu").css("display", "none");
        }
});         

1 个答案:

答案 0 :(得分:0)

function f1(){
     $("#filo").slideToggle("fast");
     $("#downmenu").css("display", "none");
     $("#upmenu").css("display", "block");
}

function f2(){
    $("#filo").slideToggle("fast");
    $("#downmenu").css("display", "block");
    $("#upmenu").css("display", "none");
}

$(function(){
    $("#downmenu").click(function(){
        f1();
    });
    $( "body" ).keypress(function( event ) {
      if ( event.which == 40 ) {
        f1();
    }    
    });

     $("#upmenu").click(function(){
        f2();
     });

     $( "body" ).keypress(function( event ) {
        if ( event.which == 38 ) {
          f2();
        }    
    });

}