Sök…
Syntax
- Selection sel = windows.getSelection ();
- Val sel = document.getSelection (); // motsvarar ovanstående
- Områdesintervall = document.createRange ();
- range.setStart (startNode, startOffset);
- range.setEnd (endNode, endOffset);
parametrar
Parameter | detaljer |
---|---|
startOffset | Om noden är en textnod är det antalet tecken från början av startNode till var intervallet börjar. Annars är det antalet underordnade noder mellan början av startNode till var intervallet börjar. |
endOffset | Om noden är en textnod är det antalet tecken från början av startNode till var intervallet slutar. Annars är det antalet underordnade noder mellan början av startNode till var intervallet slutar. |
Anmärkningar
Med val-API: n kan du visa och ändra element och text som är markerade (markerade) i dokumentet.
Det implementeras som en singleton Selection
instans som gäller för dokumentet och har en samling av Range
objekt, var och en representerar ett sammanhängande valt område.
Praktiskt taget stöder ingen webbläsare utom Mozilla Firefox flera områden i val, och detta uppmuntras inte heller av specifikationen. Dessutom är de flesta användare inte bekanta med konceptet med flera intervall. Som sådan kan en utvecklare vanligtvis bara bekymra sig om ett sortiment.
Avmarkera allt som är valt
let sel = document.getSelection();
sel.removeAllRanges();
Välj innehållet i ett element
let sel = document.getSelection();
let myNode = document.getElementById('element-to-select');
let range = document.createRange();
range.selectNodeContents(myNode);
sel.addRange(range);
Det kan vara nödvändigt att först ta bort alla områden från det föregående urvalet, eftersom de flesta webbläsare inte stöder flera intervall.
Hämta texten till markeringen
let sel = document.getSelection();
let text = sel.toString();
console.log(text); // logs what the user selected
Alternativt, eftersom toString
medlemsfunktionen kallas automatiskt av vissa funktioner när du konverterar objektet till en sträng, behöver du inte alltid ringa det själv.
console.log(document.getSelection());