试图在Jquery中进行切换

时间:2015-09-17 12:51:31

标签: jquery triggers switch-statement case keycode

我试图在Jquery中进行切换,但它并没有真正起作用......

这是我的代码:

$(document).keydown(function (event) {
    var playPause = 0;
    var keycode = (event.keyCode ? event.keyCode : event.which);

        if (keycode == '80') {
        switch (playPause) {
        case 0:
            angular.element('#playBtn').trigger('click');
                playPause = 1;
            break;
        case 1:
            angular.element('#pauseBtn').trigger('click');
                playPause = 0;
            break;
        }
    }
});

它并不像开关一样真正起作用,因为我只能按一下它就会启动,但它永远不会进入情况1,它会暂停。

我的开关错了吗?请告诉我如何解决这个问题。

这是整个代码:

 $(document).keydown(function (event) {
    var playPause = 0;
    var keycode = (event.keyCode ? event.keyCode : event.which);
    event.preventDefault();

    if (keycode == '80') {
        switch (playPause) {
        case 0:
            angular.element('#playBtn').trigger('click');
                playPause = 1;
            break;
        case 1:
            angular.element('#pauseBtn').trigger('click');
                playPause = 0;
            break;
        }
    }

    if (keycode == '39') {
        angular.element('#nextBtn').trigger('click');
    }

    if (keycode == '37') {
        angular.element('#previousBtn').trigger('click');
    }
});

1 个答案:

答案 0 :(得分:3)

playPause变量在本地范围内,而不是全局范围,因此始终从0开始。将var playPause = 0;声明放在$(document)行之前,它应该有效。