Est-il possible de désactiver ou de contrôle “commandes” dans contentEditable éléments?
Ce que je comprends, un élément avec contentEditable="true"
est en quelques sorte un éditeur HTML WYSIWYG. Il génère pertinentes des balises HTML correspondant à la commande émise.
Par exemple, si l'on sélectionne le texte et clique sur Ctrl+B, le texte sélectionné est placé entre <b></b>
balises.
J'ai besoin de ne pas avoir de balises de style dans le texte. Comment supprimer, de détourner ou de contrôler le comportement de ces commandes?
D'autres choses que je pourrais faire:
- Filtrer les balises après le fait; mais alors l'utilisateur pense qu'ils ont mis les choses en gras lorsqu'ils n'ont vraiment pas
- Re-style les balises de sorte qu'ils ne le montrent pas, et puis les filtrer; mais il y a une chance que je l'oublie, ou qu'en quelque sorte la feuille de style est désactivée
- Pas utiliser
contentEditable
, mais d'unetextarea
à la place. Mais, entre autres choses,contentEditable
le rend vraiment facile à mettre en évidence le paragraphe qui est en cours de modification. C'est beaucoup plus difficile à faire avec untextarea
.
OriginalL'auteur Bambax | 2011-08-26
Vous devez vous connecter pour publier un commentaire.
Probablement le meilleur de la page de destination de ressources pour contentEditable est ici:
http://blog.whatwg.org/the-road-to-html-5-contenteditable
Fondamentalement, ce qui se résume à ceci: Vous ne pouvez pas reconfigurer les codes eux-mêmes – qu'ils existent toujours, et ils sont différents selon les localisations des navigateurs.
Cependant, vous pouvez intercepter les commandes au clavier à l'aide de JavaScript, un exemple de ce qui peut être vu ici:
http://www.openjs.com/scripts/events/keyboard_shortcuts/shortcut.js
J'ai été jouer avec contentEditable ces derniers temps avec un succès mitigé. Certaines choses ont tendance à travailler mieux que les autres, et ont des résultats mitigés à travers le navigateur. Si tout ce que vous voulez vraiment est un éditeur de contentEditable les éléments de bloc, essayez de prendre un coup d'oeil à aloha éditeur.
C'est un écouteur d'événement – autant que je sache, il n'y a pas de notification, sauf pour l'auditeur.
La spec html5 dit à la fin de 7.5.1: "Toutes les actions définies ci-dessus, que ce soit déclenchée par l'utilisateur ou par programmation (par exemple, par execCommand (commandes), doit incendie mutation des événements." -- "Toutes les actions ci-dessus" font référence à toutes les actions d'édition: insérer, supprimer, d'enrichir, etc. Mais "la mutation des événements" semblent être rarement pris en charge par les navigateurs.
Je suis désolé, vous avez absolument raison. Il y a déjà un système pour que. Voir ici: starkravingfinkle.org/blog/2007/07/firefox-3-contentEditable
OriginalL'auteur stslavik