1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| var monDiv;
function GetSelectedText (balise1, balise2) {
if (document.getSelection) {
var sel = getSelection (), debutSel, finSel, finTexte, cursor1, cursor2, texteDebut, texteEncour, texteFin;
monDiv = document.getElementById('editor');
finTexte = monDiv.innerHTML.length; // cherche la position du dernier caractère
cursor1 = sel.anchorOffset; // premier clic de selection
cursor2 = sel.focusOffset; // dernier clic de selection
if( cursor1 < cursor2){ // on cherche le début de la sélection
debutSel = cursor1;
finSel = cursor2;
}
else{
debutSel = cursor2;
finSel = cursor1;
}
// enregistre les portions contenue, selon leur position dépendant de la sélection.
texteDebut = monDiv.innerHTML.substring(0, debutSel);
texteEncour = monDiv.innerHTML.substring(debutSel, finSel);
texteFin = monDiv.innerHTML.substring(finSel, finTexte);
// remplace le texte en ajoutant les arguments, balise
monDiv.innerHTML = texteDebut + balise1 + texteEncour + balise2 + texteFin;
}
}
// utilise la Dom-2 pour gérer les évenements.
var bouton = document.getElementById('bouton');
bouton.addEventListener('click', function() {
GetSelectedText("<strong>", "</strong>");
}, false); |
Partager