2012-04-09 3 views
1

Est-il possible de simuler les touches fléchées sur un div modifiable de contenu? J'ai essayé de déclencher des événements "key press" mais il semble que contenteditable les ignore. (J'ai juste besoin d'une solution webkit/safari)simule les touches du curseur (gauche, droite, bas, haut des flèches) dans un contenu modifiable div?

J'ai juste besoin de déplacer le curseur à l'intérieur de la div comme le font les touches fléchées mais par programmation.

Peut-être que la bibliothèque Rangy de Tim Down peut vous aider?

Merci!

+0

est une possibilité? – Jlange

+0

oui, pas de problème avec JQuery – user1322373

Répondre

1

C'est compliqué, car il est impossible de simuler un événement clé en général. En particulier, il n'est pas possible dans la plupart des navigateurs de déclencher l'action de navigateur par défaut pour un événement de clé sans qu'une frappe de touche réelle ne se soit produite.

Cela étant, vous devez le faire manuellement, ce qui est compliqué. Les touches fléchées fonctionnent sur le texte visible de la page, ce qui signifie que vous devez prendre en compte des espaces réduits, des sauts de ligne implicites de <br> et des éléments de bloc, des éléments cachés via la propriété CSS display et bien d'autres subtilités. De même, la simulation des flèches vers le haut et vers le bas repose sur l'obtention de coordonnées pixels exactes de caractères arbitraires sur la page, ce qui n'est pas négligeable dans la plupart des navigateurs. Je travaille sur un moyen de naviguer à travers le texte visible sur la page dans Rangy, ce qui aidera à simuler les touches fléchées gauche et droite, mais Rangy ne peut pas aider avec les touches fléchées haut et bas.

+0

Merci beaucoup Tim, ça semble un peu plus compliqué que je ne le pensais, de toute façon simulant les touches fléchées gauche et droite c'est bien pour moi, faites moi savoir quand vous avez quelque chose à tester;) – user1322373

+0

Bonjour Tim, une mise à jour à ce sujet? Je peux naviguer à gauche et à droite avec rangy mais quand le signe trouve un noeud BR s'arrête et ne saute pas à la ligne suivante. de l'aide à ce sujet? – user1322373

+0

@ user1322373: Toujours en train de travailler dessus et de se rapprocher de la finition. Devrait sortir une première version dans les deux prochaines semaines. Je posterai ici quand il y aura des nouvelles: http://groups.google.com/group/rangy/topics –

Questions connexes