jQuery / Arrow键不会触发keyup事件

时间:2012-12-12 15:17:35

标签: jquery keyup

我正在尝试使用右箭头键来更改类,但是我遇到了使用箭头键触发事件的问题。相反,它在鼠标点击时起作用。右箭头键keyCode和39.我已经尝试了两个并获得相同的结果。

$(document).ready(function(){
    $(document).keyup(function(evt){
    console.log(evt.keyCode);// used to verify the keyCode 39

    if (evt.keyCode == 39) {
        $('body').toggle(function(){
            $('body').removeClass().addClass('narrow');

        }, function() {
        $('body').removeClass().addClass('large');

        }, function() {
        $('body').removeClass();
        });
        } 
        else {
        return false;
    };
    )
   });

1 个答案:

答案 0 :(得分:1)

修改 -

除了切换之外,一切都是正确的。以下是我假设你要做的事情 -

http://jsfiddle.net/jmsessink/nxJxj/3/

$(function() {

    $(document).keyup(function(evt) {

        if (evt.keyCode == 39) {

            if ($('body').hasClass('narrow')) {
                $('body').removeClass('narrow').addClass('large');
            } else if ($('body').hasClass('large')) {
                $('body').removeClass('large');
            } else {
                $('body').addClass('narrow');
            }

        }

    });

});