2017-03-02 86 views

回答

0

keyCode确定哪个键是pressed.except keyCode包括shiftKeyaltKeyctrlKeymetaKey检测特殊键。

+0

有趣的是,keyCode是我在Angular 2中使用的。我没有看到传入事件上的charcode。 –

+0

它们是相同的,所以你必须使用'var key = e.charCode | e.keyCode' –

+0

其实我是这样做的。 charCode将是输入的字符。键码是按下的键。它们不一样(现在正在查看调试器)。例如,我看到charCode 0,keyCode 62.我会说keyCode对于知道密钥是正确的(出于某种原因,我认为我已经知道了)。我的意思是,如果你仔细想想,它确实有意义。 –

1

我正在寻找调试器并在Angular 2中找出事件对象。您将明确使用keyCode。我很确定这就是文档所说的。有兴趣谈谈此事。不过请注意,我使用keyCode,并从所有按键中得到我需要的东西(输入shift等)。

它是有道理的,我猜;你想要钥匙,使用钥匙代码。你想要的字符,使用charCode。你可能会认为它们是一样的,但看起来它们不是(或者至少并非总是)。

只是为了添加所有细节,我必然会遇到keyup事件。这可能不是角度2具体的,但只是共享环境等

+1

'keyCode'已弃用,不应使用(尽可能)。 – Bryce

+0

你可以显示一些文件来达到这种效果(这是不容易驳斥的)吗?查看调试器中的信息,charCode不会有用。我看到对MDN的引用表示弃用,但我也看到W3C event.key并未得到普遍支持。角度文档经常提到keyCode。另一个stackoverflow答案说,有钥匙,keyCode和keyIdentifier。但是,当传递这个事件时,唯一一贯有用的东西似乎是keyCode。请参阅http://stackoverflow.com/questions/35394937/javascript-keycode-deprecated-what-does-this-mean-in-practice –

+0

无论如何,尽管如此,我环顾四周,无法将弃权确定为实际和一致的事实。(注意,这里的要点是要找出日常开发的有用实践,而不是说你错了)。 –

相关问题