Javascript 在Firefox 12中调度密钥事件

Javascript 在Firefox 12中调度密钥事件,javascript,dom-events,keypress,dispatchevent,Javascript,Dom Events,Keypress,Dispatchevent,我曾经在Firefox10和Firefox11中发送一个关键事件。最近我将浏览器升级到FireFox 12并停止工作 我所做的一切 在Firefox11或更低版本中运行时,可以在文本框中找到打印的字符 为什么它在Firefox12中不起作用,我如何修复它?任何替代解决方案都是合适的。为什么不在页面加载时将值(字符#1740)分配给输入框?比如: $('#name').val(String.fromCharCode(1740))​; 请参阅使用空输入检查我的小提琴,观察按键事件,然后在输入“A

我曾经在Firefox10和Firefox11中发送一个关键事件。最近我将浏览器升级到FireFox 12并停止工作

我所做的一切<代码>

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


为什么它在Firefox12中不起作用,我如何修复它?任何替代解决方案都是合适的。

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

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

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

编辑:这在其他浏览器中可能会有所不同,但在Firefox和Chrome/Chrome等现代浏览器中对我有效。。。观察事件时,持牌人可能表现不同

编辑2:已更新,可以像您建议的那样保存全局映射。。。小旁注:一些浏览器可能不支持从
event.keyCode
检索输入的键代码,因此请检查
event.which
(jQuery将它们组合成
event.which
,还可以让您轻松地观察按键跨浏览器)

这是他们的答案。出于安全原因,调度密钥事件似乎不再被拒绝:

请注意,initKeyEvent()仍然有效。编辑只是出于安全和当前规范中不明确的原因拒绝了关键事件


但我仍然不明白为什么我发送的事件不可信。

怎么了?事件被触发:它在FF 12中不工作。这里有好几台机器,我都检查过了。它正在处理FF 11、10、9……定义“不工作”。在我的演示中,在FF 12.0中,会出现一个警报:在旧版本中,此代码在输入中打印1740个字符,而在新版本的FF中,输入仍然为空。您想这样做的目的是什么?单元测试?为什么不直接引用输入节点并应用一个值来填充它呢。按'A'2。选择输入文本3。再次按“A”键,输入文本应替换为新按下的按键字符(1740),但您将在输入中看到两个1740字符。首先,它是Krogh而不是Korgh。。。第二:臭虫?这不像是你直接要求的,也不像是你提供了一个你想要的代码样本。。。我只是想帮你,给你一个印象,你可以开始。。。看我的描述,我小提琴的代码绝对正确。。。我从未说过要为您构建一个完全有效的解决方案,是吗?(反对票意味着这是一个错误/糟糕的答案,但事实并非如此)我甚至投票支持你的问题,因此它获得了0而不是-1,以获得更多的关注,因此我们得到了一个好答案。。。但是因为“虫子”而责怪我(这与小提琴无关)意味着我永远不会投你的票,伙计!我提到了你建议的一个bug,我的意思是,这个解决方案有问题。我尝试应用你的解决方案并替换我的方法。非常感谢您的帮助和关注,托拜厄斯,请原谅我语法不好。