2009-10-16 8 views
3

Est-il possible de capturer des événements de clavier dans un diagramme produit à l'aide de Dojox.GFX?Capture d'événements de clavier dans Dojox GFX

Nous avons une application graphique simple qui implique certaines formes dessinées sur une surface. Nous aimerions ajouter une simple interaction au clavier, par ex. en utilisant la touche Suppr pour supprimer une forme, et en utilisant "Ctrl + A" pour sélectionner toutes les formes.

J'ai essayé d'ajouter des instructions dojo.connect et shape.connect pour "onkeypress" et "onkeyup", mais elles ne semblent jamais être déclenchées. Nous capturons déjà des événements de souris et ceux-ci fonctionnent bien.

Merci

David

Répondre

1

événements clavier ne sont pas fait remarquer, ils sont essentiellement mondiale. Vous devriez les attraper globalement en attachant un gestionnaire à document ou body.

0

Merci, maintenant de travailler!

Dans mon cas, ce fut un portlet de sorte que le corps < > tag n'était pas disponible, mais j'ai utilisé un <div> tag à la place:

< div id = "queryPortlet" onkeydown = "HandleKeyDown (event.keyCode) " onkeyup = "handleKeyup (event.keyCode);" L'autre chose que je devais surveiller n'était pas d'intercepter des séquences de touches si le focus était dans un champ de saisie de texte. J'ai dû écrire du code pour garder une trace de quand le focus était dans un champ de texte, en ajoutant des gestionnaires onfocus() et onblur() à tous ces champs. C'était une légère douleur mais c'était le seul moyen de le faire.