如何检测 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 + B
和 Ctrl + I
。还有两行代码可以停止所有事情:
e.preventDefault();
return false;
这个^代码停止任何按钮的动作。例如 Ctrl + S
现在停用了..!我需要的是定义 switch()
函数是否匹配一个案例,然后 运行 这两行,否则不要 运行 这两行。我该怎么做?
尝试这样,如果按下 Ctrl+B
或 Ctrl+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;
我有这样的代码:
$("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 + B
和 Ctrl + I
。还有两行代码可以停止所有事情:
e.preventDefault();
return false;
这个^代码停止任何按钮的动作。例如 Ctrl + S
现在停用了..!我需要的是定义 switch()
函数是否匹配一个案例,然后 运行 这两行,否则不要 运行 这两行。我该怎么做?
尝试这样,如果按下 Ctrl+B
或 Ctrl+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;