Tir d'un événement de clavier sur Chrome

Je suis en train de déclencher un événement de clavier à une page à l'aide de javascript sur le navigateur Chrome.
J'ai eu une approche qui permet de travailler sur Firefox:

pressKey = function(key, shift) {
  var evt = document.createEvent('KeyboardEvent');
  evt.initKeyEvent("keypress", false, true, null, false, false,
                   shift, false, keyCode(key), key.charCodeAt(0));
  document.dispatchEvent(evt);
}

où la clé est la clé souhaitée et de mot de code des changements minuscules dans highercase et appelle aussi charCodeAt().

Mon problème est que les événements sur Safari/Chrome n'ont pas initKeyEvent, mais initKeyboardEvent. La principale différence que j'ai pu remarquer c'est que vous avez à passer la clé comme un keyIdentifier (qui ressemble à un caractère unicode) au lieu de passer le code et le keychar. Néanmoins, je n'ai pas réussi à le faire fonctionner.

J'ai aussi essayé le JQuery approche décrite ici sans succès.

EDIT:
J'ai débogué cela un peu plus loin, et il semble que l'événement Chrome ne déclencher les auditeurs, mais keyCode/charCode est toujours 0. J'ai essayé de mettre evt.mot de code ou evt.charCode, sans succès non plus.

  • J'ai supprimé un commentaire à partir de la question et a mis comme réponse, parce que je pense que même pensé qu'il n'a pas vraiment de résoudre la question, il peut être vraiment utile pour les personnes ayant le même problème que moi.
  • Hey comment avez-vous résolu le problème? Je suis également confrontés à la question de la simulation en pressant sur les touches de gauche et de droite de google chrome/safari. Mais sans succès, comment avez-vous fait?
  • Avez-vous essayé la solution que j'ai posté? Il a travaillé pour moi et serait probablement vous ont aidé à atteindre votre objectif, donc c'est bizarre pour moi que vous avez accepté votre propre réponse "c'est un bug".
InformationsquelleAutor fserb | 2009-12-13