web-dev-qa-db-fra.com

remplacer le texte sélectionné dans div div modifiable

J'ai cherché haut et bas une réponse mais j'ai échoué.

Existe-t-il une solution multi-navigateurs pour remplacer le texte sélectionné dans une div contentable? Je veux simplement que les utilisateurs mettent en surbrillance du texte et remplacent le texte en surbrillance dans xxxxx.

42
Judy

Les éléments suivants feront le travail dans tous les principaux navigateurs:

function replaceSelectedText(replacementText) {
    var sel, range;
    if (window.getSelection) {
        sel = window.getSelection();
        if (sel.rangeCount) {
            range = sel.getRangeAt(0);
            range.deleteContents();
            range.insertNode(document.createTextNode(replacementText));
        }
    } else if (document.selection && document.selection.createRange) {
        range = document.selection.createRange();
        range.text = replacementText;
    }
}
81
Tim Down