如何检测 switch() 是否匹配它的一个 case?

How to detect whether switch() matches one of its cases?

我有这样的代码:

$("textarea").on('keydown', function(e){
    if(e.ctrlKey){     // Ctrl is pressed
        switch (e.which) {
            case 66: // "B" button on the keyboard
                alert("it is bold"); 
                break;

            case 73: // "I" button on the keyboard
                alert("it is italic"); 
                break;
        }
        e.preventDefault();
        return false;
    }
});

上面的代码在 textarea 的按键上处理 Ctrl + BCtrl + I。还有两行代码可以停止所有事情:

e.preventDefault();
return false;

这个^代码停止任何按钮的动作。例如 Ctrl + S 现在停用了..!我需要的是定义 switch() 函数是否匹配一个案例,然后 运行 这两行,否则不要 运行 这两行。我该怎么做?

尝试这样,如果按下 Ctrl+BCtrl+I 以外的按键,则它不会执行任何操作。

 $("textarea").on('keydown', function(e){
                if(e.ctrlKey){     // Ctrl is pressed
                   var codes= [66,73];
                   var a = codes.indexOf(e.which);
                   if(a > 0){
                    return false;
                  }else{
                   // your stuff
                   }                     
                }
            });

使用default大小写!

switch (e.which) {
    case 66: // "B" button on the keyboard
        alert("it is bold"); 
        break;
    case 73: // "I" button on the keyboard
        alert("it is italic"); 
        break;

    default: // everything else
        return; // without preventing the default action
}
e.preventDefault();
return false;