keydown事件不再为Firefox中的密码字段返回key / code / keyCode等

时间:2019-01-10 09:28:14

标签: javascript jquery firefox

我曾经能够通过密码访问event.key事件的event.code和/或event.keyCode和/或event.which和/或jQuery的标准化keydown和文本输入。

在撰写本文时,它仍然可以在Chrome(71)中使用,但已停止在Firefox(65)中使用。

请参见小提琴:

$('input').on('keydown', e => {
   $('pre').append("keyCode: " + e.which + " "  + e.key + " "  + e.code + "\n"); });
$('pre').append('type in box\n');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<pre></pre>
<input type="password" >

在Chrome上,这会输出期望值,例如

keyCode: 68 d
keyCode: 83 s
keyCode: 18 Alt

现在在Firefox上输出(无论按下了哪些键):

keyCode: 229 Process undefined
keyCode: 229 Process undefined
keyCode: 229 Process undefined

如果将输入更改为text,则Firefox不会以这种方式运行。

MDN似乎没有对此进行引用。

我现在已经更改了一些代码以使用keypress,这似乎仍然可以使用,但是我想了解为什么以及是否有一种方法可以使用keydown / up。

0 个答案:

没有答案