如何在keyCode中更改功能

时间:2016-03-15 10:23:20

标签: javascript jquery

我想知道如何在KeyCode条件下更改函数? 我试图做一些事情,但我无法进入keyCode。

我的代码:

$("body").keydown(function (e) {
    // left arrow
    if ((e.keyCode || e.which) == 37) {
        prevpage('{!! !empty($data["previous"]) ? $data["previous"] : "4" !!}', '0');
    }
    // right arrow
    if ((e.keyCode || e.which) == 39) {
        nextpage('{!! $data["next"] !!}', '2');
    }
});

感谢所有帮助!。

更新

这是我的函数nextpage和prev

的代码
       function nextpage(nextpage,pagenumber) {
        getCotent(nextpage,pagenumber);
        var number = Number(nextpage)+1;
        var numberprev = Number(nextpage)-1;
        var numberpagePluss = Number(pagenumber)+1;
        var numberpageMinus = Number(pagenumber)-1;

        if(number == null || '{!! Request::segment(6) !!}' == '1' && numberpagePluss == '24' || '{!! Request::segment(6) !!}' == '2' && numberpagePluss == '27') {

            $('.next').hide();
            $('#next').hide();

        } else if(numberpagePluss == '10') {

            // $('#menu ul li:lt(5)').fadeOut('slow').hide();
            // $('#menu ul li:gt(23)').fadeIn('slow').show();
            $('#menu ul li.privie').show();
            $('#menu ul li.next').show();

        } else {

            $('.privie').attr('onclick','prevpage('+ numberprev +',' + numberpageMinus + ')');
            $('.next').attr('onclick','nextpage('+ nextpage+1 +',' + numberpagePluss + ')');

            $('#privie').attr('onclick','prevpage('+ numberprev +',' + numberpageMinus + ')');
            $('#next').attr('onclick','nextpage('+ nextpage+1 +',' + numberpagePluss + ')');

            $('.privie').show();
            $('#privie').show();


        }

    }

    function prevpage(previd,pagenumber) {

        getCotent(previd,pagenumber);
        var number = Number(previd)+1;
        var numberprev = Number(previd)-1;
        var numberpagePluss = Number(pagenumber)+1;
        var numberpageMinus = Number(pagenumber)-1;

        if(numberprev == null || numberpageMinus == '0') {

            $('.privie').hide();
            $('#privie').hide();

        } else if(numberpageMinus == '9') {

            // $('#menu ul li:lt(4)').fadeIn('slow').show();
            // $('#menu ul li:gt(23)').fadeOut('slow').hide();
            $('#menu ul li.privie').show();
            $('#menu ul li.next').show();

        } else {

            $('.privie').attr('onclick','prevpage('+ numberprev +')');
            $('.next').attr('onclick','nextpage('+ number +')');

            $('#privie').attr('onclick','prevpage('+ numberprev +')');
            $('#next').attr('onclick','nextpage('+ previd+1 +')');

            $('.next').show();
            $('#next').show();

        }

我需要它之后我按下左键将页面翻到下一页,我需要keyCode中的功能将更改为下一页。

2 个答案:

答案 0 :(得分:1)

试试这个:

$("document").ready(function(){
  $("body").keydown(function(e){
    // left arrow
    if ((e.keyCode || e.which) == 37)
    {   
        console.log("condition 1");
        myfun1();
    }
    // right arrow
    if ((e.keyCode || e.which) == 39)
    {
        console.log("condition 2");
        myfun2();
    }   
  });
})

function myfun1(){
     alert("inside myfun1");
 //write your code of execution here
 }

function myfun2(){
     alert("inside myfun2");
 //write your code of execution here
 }

如果有效,那么键码运行正常

答案 1 :(得分:0)

尝试这个

var test=function(){
    //your code
    }

    var test2=function(){
    //your code
    }

    $("document").ready(function(){
      $("body").keydown(function(e){

        if ((e.keyCode || e.which) == 37)
        {   
           test();
        }

        if ((e.keyCode || e.which) == 39)
        {
            test2();
        }   
      });
    })