getSelection () et insertNode & # 8212; Sélection de texte Javascript
-
05-07-2019 - |
Question
Quelqu'un sait-il comment définir la sélection du navigateur sur une plage créée récemment / indépendamment? Je comprends comment obtenir la sélection de texte à partir du navigateur et comment créer une plage, mais je ne sais pas comment demander au navigateur de modifier la sélection en fonction de la plage que j'ai créée. J'aurais pensé que ce serait quelque chose comme "setSelection".
Pour être clair, je n'essaie pas de provoquer la sélection d'une zone de texte - je parle des balises p / div / ul, etc.
Je faisais référence au site suivant (cela vous donnera peut-être une idée?):
http://www.quirksmode.org/dom/range_intro.html
Merci d'avance pour votre temps.
La solution
En supposant que vous ayez une plage DOM Range
dans les navigateurs non-IE et un TextRange
dans IE:
function selectRange(range) {
var sel;
if (window.getSelection) {
// Non-IE browsers
sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
} else if (document.selection && range.select) {
// IE
range.select();
}
}