-1

是否可以指定e.preventDefault()一次将与以下代码一样工作。

我的意思是,如果可能的话,我不想e.preventDefault()每次都写...

document.addEventListener("keydown", function(e) {
  if (e.ctrlKey) { // Ctrl+
    switch (e.keyCode) {
      case 79: // O
        e.preventDefault();
        openDoc();
        break;
      case 83: // S
        e.preventDefault();
        saveDoc();
        break;
      case 66: // B
        e.preventDefault();
        showHideStatusBar(showStatusBar ? false : true);
        break;
      case 191: // /
        e.preventDefault();
        Help();
        break;
    }
  }
});
4

2 回答 2

1

您可以尝试以下方法:

if (e.ctrlKey) { // Ctrl+
    if (/^(79|83|66|191)$/.test(e.keyCode){
     e.preventDefault();
    }
    switch (e.keyCode) { /*... */ }
}
于 2013-11-04T08:43:50.117 回答
0

只是放在e.preventDefault()前面switch

于 2013-11-04T08:38:52.897 回答