Javascript DOM中的按键事件
我刚开始学习DOM事件,当我按下enter键时,我正在使用keypress事件使一些事件发生。它工作得很好Javascript DOM中的按键事件,javascript,html,dom,Javascript,Html,Dom,我刚开始学习DOM事件,当我按下enter键时,我正在使用keypress事件使一些事件发生。它工作得很好 document.addEventListener('keypress', function(event){ if(event.keyCode === 13){ console.log("enter was pressed"); } }); 但我在MDN事件参考上看到,keypress事件已被弃用 其贬值的原因是什么
document.addEventListener('keypress', function(event){
if(event.keyCode === 13){
console.log("enter was pressed");
}
});
但我在MDN事件参考上看到,keypress事件已被弃用
其贬值的原因是什么?按键事件的新替代方案是什么?以及替代方案是什么。为了保持性能,您可以对逻辑使用Debounce。
由于此事件已被弃用,因此您应该改用beforeinput或keydown。
弃用它的原因只不过是理论上的纯度。它被称为“按键”,但它与键无关——它与字符输入有关,因此我们的想法是使用“beforeinput”。除了beforeinput没有在Firefox中实现。因此UiEvents规范不能退出草稿状态,因此不能真正反对keypress,只希望它被反对。无论如何,keypress不会消失,因为如果它消失了,数百万个网站将停止工作,所以如果它做了你需要的,就使用它。