我想评估输入上的事件:
$('#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/