Question

Je suis en train de permettre à l'utilisateur d'éditer un contenteditable div, mais je recherche que je ne peux pas utiliser pasteHTML moins qu'il y ait un texte sélectionné.

Je pensais document.selection.createRange () retournerait une sélection de longueur nulle valide (à savoir une position), mais hélas pas.

J'ai vraiment eu du mal à trouver une solution à ce qui ne concerne pas les iframes (pas une option à l'heure actuelle).

Toutes les suggestions / idées / questions les bienvenus.

Était-ce utile?

La solution

Assurez-vous que l'accent est mis sur la div éditable avant de créer le TextRange de la sélection:

var div = document.getElementById("your_div");
div.focus();
document.selection.createRange().pasteHTML("<b>PASTED</b>");

Autres conseils

Vous pouvez utiliser un formulaire textarea. C'est simple et multi-navigateur, mais ne savent pas dans quelle mesure votre style est limité ou si l'utilisation d'un élément de forme ou la forme est adaptée à votre question.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top