Switch 语句适用于退格 KeyCode,if 语句不适用?
Switch statement works with backspace KeyCode, if statement does not?
我一直认为 if 和 switch 语句基本上以相同的方式比较事物,但格式不同。然而,当我试图捕获退格键代码时,开关是唯一一个在比较中出现的。这是为什么?
https://jsfiddle.net/ogbw8g8u/3/
$(window).on('keydown', function (e) {
e.preventDefault();
if( e.KeyCode == 8 ) {
$('div').append('<p>if</p>');
}
switch (e.keyCode) {
case 8: // Backspace
$('div').append('<p>switch</p>');
break;
}
});
你的错误不是语句,而是大小写。您的 if 语句不应将 keyCode
中的 k
大写。应该是:
if (e.keyCode == 8) {
...
}
我一直认为 if 和 switch 语句基本上以相同的方式比较事物,但格式不同。然而,当我试图捕获退格键代码时,开关是唯一一个在比较中出现的。这是为什么?
https://jsfiddle.net/ogbw8g8u/3/
$(window).on('keydown', function (e) {
e.preventDefault();
if( e.KeyCode == 8 ) {
$('div').append('<p>if</p>');
}
switch (e.keyCode) {
case 8: // Backspace
$('div').append('<p>switch</p>');
break;
}
});
你的错误不是语句,而是大小写。您的 if 语句不应将 keyCode
中的 k
大写。应该是:
if (e.keyCode == 8) {
...
}