Ale*_*mov 7 html javascript events dom dom-events
根据MDN文章 keypress
事件已弃用:
但是我在其他地方找不到关于是否应在新项目中使用此事件的任何信息。如果我们不应该,那么替代品是什么?
有人可以提供见解吗?
Bar*_*mar 10
由于该事件已被弃用,您应该避免在新代码中使用它,并计划从旧代码中删除它。在W3C规范说这约不赞成使用的功能:
标记为已弃用的功能包含在规范中作为对旧实现或规范的参考,但它们是可选的且不鼓励使用。在本规范中,只有具有现有或正在进行的替换的功能必须被弃用。由于与现有内容向后兼容的原因,尚未包含对该功能的支持的实现可能会实现已弃用的功能,但创建内容的内容作者不应使用已弃用的功能,除非没有其他方法可以解决用例. 引用此规范的其他规范不应使用已弃用的功能,而应指向该功能已被弃用的替代功能。本规范中标记为弃用的功能预计将从未来的规范中删除。
的规范keypress event
说:
警告本规范中定义了按键事件类型以供参考和完整性,但本规范不赞成使用此事件类型。在编辑上下文时,作者可以改为订阅beforeinput事件。
您还可以使用keydown
和/或keyup
事件。请参阅keyup、keydown、keypress 和 input 事件之间的区别是什么?
但是,由于beforeinput
还没有太多支持,如果这些其他事件都不适合您的用例,您现在必须继续使用keypress
(这是“除非没有其他方法可以解决用例”中的例外)规格)。
小智 10
const handleKeyDown = (e: any) => {
if (e.code === "Enter") {
triggerBusqueda(e.target.value);
}
};
onKeyDown={handleKeyDown}
Run Code Online (Sandbox Code Playgroud)