使用jQuery通过ESC键切换类?

时间:2013-10-09 17:49:01

标签: jquery removeclass

我已经设置了一个jQuery函数,可以在按下ESC键的同时将一个类添加到正文中。

如何更改下面的代码以在按键上添加和删除类之间切换,而不是仅添加一次?

if(key.code == 27 && $(document.body).hasClass('preview-mode'))
     $(document.body).removeClass('preview-mode');

2 个答案:

答案 0 :(得分:2)

if(key.code == 27)
    $(document.body).toggleClass('Your_class_2'); //set your default class as preview-mode 

了解更多:jQuery Effects

Toggle Class

Live Demo

答案 1 :(得分:0)

注意: keypress无法捕获google-chrome中的转义键https://stackoverflow.com/a/3901076/829533

试试这个

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

        if(e.keyCode == 27) {
            if ($('body').hasClass('preview-mode')) {
                $('body').removeClass('preview-mode');
            } else {
                $('body').addClass('preview-mode');
            }
        }
    });
});

小提琴 http://jsfiddle.net/tcPfQ/3/

toggleClass

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

        if(e.keyCode == 27) {
            $('body').toggleClass('preview-mode');
        }
    });
})

小提琴 http://jsfiddle.net/tcPfQ/2/