我有这段代码:
...
@HostListener('keydown', ['$event'])
onKeyDown(evt: KeyboardEvent) {
console.log('KeyCode : ' + evt.keyCode);
console.log('Which : ' + evt.which);
....
}
适用于所有ios浏览器——>一切正常
对于android,正在firefox上工作,但在chrome上,我有229
为evt.keyCode
&&evt.which
,无论按哪个键都没有关系。
对这个问题有什么想法吗?
不推荐使用evt.keyCode
,而是使用evt。
String
描述。然而,无论如何,它不会在Chrome Android上工作,这是铬项目的一个众所周知的错误。
它应该可以在Firefox Android上运行。
看起来keyCode
已被弃用,并且由于遗留原因在某些浏览器中仍然支持:https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode
建议使用evt.code
。
你应该尽量避免使用这个;它已经被弃用一段时间了。相反,你应该使用KeyboardEvent。代码,如果它被实现的话。不幸的是,有些浏览器仍然不支持,所以你必须小心确保你使用的是所有目标浏览器都支持的浏览器。
根据该特性支持的浏览器表判断,您应该可以使用key
。