防止Firefox浏览器上的keyCode 13触发建议

时间:2018-07-10 00:27:23

标签: javascript

在我的代码中,如果您开始在表单输入中键入ermail,然后使用向下箭头键选择一个自动建议条目,然后按Enter,即使我没有按ENTER键,该功能也会触发在实际输入上。

function sysOnEnter(event) {
  if (event.keyCode == 13) {
    event.preventDefault();
    console.log('key was enter');
  }
}
<input type="text" name="email" onkeypress="sysOnEnter(event)">

1 个答案:

答案 0 :(得分:-1)

经过更多研究,我设法回答了自己的问题。

function sysOnEnter(event, id) {
  
  var key = event.key || event.keyCode;
  
  if (key == 'Enter' || key == 13) {
  
    var val = document.getElementById(id).value;
  
    setTimeout(function() {
      if (document.getElementById(id).value == val)
        console.log('captured ENTER event');
    },0);
    event.preventDefault();
    return false;
  }
}
<input type="text" id="email" onkeypress="sysOnEnter(event, this.id)">