javascript - Firefox 触发 keyup 事件两次

标签 javascript jquery firefox keyup

我想评估输入上的事件:

$('#foo').keyup(function(e) {
  e.preventDefault();
  e.stopPropagation();
  $('#foo').after('<p>Keyup detected</p>');
  if (e.keyCode == 13) {
    $('#foo').after("<p>'Enter' detected</p>");
  }
});

它在 Chrome 上运行良好,但在 FF 和 IE 上该事件似乎被触发了两次。为什么?我怎样才能防止他们将事件加倍? (参见http://jsfiddle.net/Robbit/nrsos4gh/9/)

已解决 - 原因是运行工具 PhraseExpress,它应该跟踪某些按键组合。抱歉让您大惊小怪,但感谢您提供的有用信息以及对您设备的检查,这最终让我找到了实际原因。

最佳答案

您的代码在 Windows 7 上的 IE11 和 FF35 中仅对我触发一次。

但是,当我过去遇到类似问题时,以下内容已为我解决了该问题。

取消绑定(bind)任何其他事件。

$('#foo').unbind();

禁用文本字段的自动完成功能。

<input id="foo" type="text" autocomplete="off">

关于javascript - Firefox 触发 keyup 事件两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28539147/

相关文章:

javascript - 无法在 Chrome 中设置 document.cookie

javascript - Electron:如何防止 Cmd + Q 退出?

javascript - 按字母顺序对嵌套的 div 进行排序

html - Firefox/IE textarea 大小调整怪癖 - 解决方法?

javascript - SpeechRecognition 在 Firefox 中不起作用

javascript - 在 Ajax 加载按钮上单击设置 Javascript 变量

javascript - 为什么 typeof 或数字检查验证返回 false

javascript - VueJS2 - 计算属性/方法正在设置 Vue.data?

javascript - 附加mediaElementSource时,Web音频将被静音

jquery - Scrollspy 的 Bootstrap 菜单问题