在Firefox 12中调度关键事件

时间:2012-05-06 14:58:18

标签: javascript javascript-events keypress dispatchevent

我曾经在FireFox 10和11中发送一个关键事件。最近我将我的浏览器更新为FireFox 12并且调度停止工作。

Here is a sample code我所做的事情。

在Firefox 11或更低版本中运行时,您可以在文本框中找到打印的字符。

为什么它在FF12中不起作用,我该如何解决?任何替代解决方案也是适用的。

3 个答案:

答案 0 :(得分:1)

为什么不在页面加载时将值(字符#1740)分配给输入框?喜欢:

$('#name').val(String.fromCharCode(1740))​; 

请参阅this jsfiddle

答案 1 :(得分:1)

检查我的小提琴,观察按键事件的空输入然后在输入“A”时替换输入...试试看

编辑:这可能在其他浏览器中有所不同,但在Firefox和Chrome / Chromium等现代浏览器中对我有用...持有者IE在观察事件时可能表现不同

编辑2:更新fiddle rev 1以保存全局映射,如您所建议的......一个小旁注:某些浏览器可能不支持从event.keyCode检索输入的密钥代码,因此请检查{{1 (以及jQuery会将它们组合到event.which中,并且还可以让您轻松地观察按键交叉浏览器)。

fiddle

答案 2 :(得分:1)

这是BugZilla中的答案。出于安全原因,调度关键事件似乎不再被拒绝:

  

请注意,initKeyEvent()仍然有效。编辑只是拒绝关键事件的安全性和当前规范中不清楚。

但我仍然无法理解为什么我的派遣事件不受信任。