防止在输入字段中按住回车键

时间:2015-12-06 15:32:07

标签: javascript

我编写了一个询问用户问题的应用程序,用户必须在单个输入字段中输入答案,答案通常只有一个单词,如果答案为真,则用户获得积极评价。 当用户按下回车键时,没有伤害。但是如果用户按住回车键,我的应用程序将无法正常工作。无论如何都不需要使用输入。我想完全阻止输入密钥。 我搜索并使用了这段代码。

if (event.keyCode == 13) {
    event.preventDefault();
}

但是如果用户按住回车键,我的应用程序仍会混淆。 如何完全防止输入密钥。

PS。我需要纯java脚本。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果你想处理只允许一次按下而不是按住这里你可以,如果不是只是禁用文件keydown上的键13

document.onkeydown = handleKeyDown;
document.onkeyup = handleKeyUp;
var keysDown = {};

function handleKeyDown(e) {      
  var keycode = e.keyCode ? e.keyCode : null;      
  if(keycode == 13) {        
   if(keysDown['13'] == null){   
     keysDown['13'] = true;
   }
  }
}

function handleKeyUp(e) {
  var keycode = e.keyCode ? e.keyCode : null;
  keysDown[keycode]=null;
  // on key up the key is now removed from the list and can be pressed again
}