Popis
Metoda .getSelection() objektu window vrací objekt typu Selection, reprezentující rozsah textu označeného uživatelem.
Syntax
selection = window.getSelection();
- premenná
selection
je objekt typu Selection. Při převodu na řetězec, či už pridáním prázdných uvozovek "" alebo použitím .toString, výsledkem bude označený (selektovaný) text.
Příklad
function priklad() { var selObj = window.getSelection(); alert(selObj); var selRozsah = selObj.getRangeAt(0); // dělej něco so selektovaným rozsahom }
Poznámky
V JavaScriptě, když je objekt předaný ako argument funkci očekávající string (řetězec - ako například window.alert
či document.write
), automaticky se použije řetězec vrácen metodou toString() daného objektu. Tohle způsobí, že objekt se může chovat jako řetězec i vtedy, když ho nějaké iné funcke používají jako plnohodnotný objekt s vlastnostmi a metodami.
V příkladě, který byl uveden výše, je automaticky zavolána metoda selObj.toString()
a její výsledek je pak předán metodě window.alert
.
Avšak pokoušání se o použití vlastností či metod JavaScriptového objektu String ako např. length
or substr
přímo na objektu typu Selection skončí chybou, protože objekty téhož typu nobsahují takové vlastnosti ani metody. Když chcete použít objekt typu Selection ako string, zavolejte přímo jeho metodu .toString()
:
var označenýText = selObj.toString();
selObj
je objekt typu Selection.selectedText
je string (řetězec) — označený text.
Podpora v prohlížečích
Plán | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Základná podpora | Ano | Ano | Ano (testováno v IE7+) | (Yes) | (Yes) |
Plán | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Základná podpora | ? | ? | ? | ? | ? |
Špecifikácia
DOM Level 0. Not part of any standard.
Očakáva sa špecifikovanie aj v novom DOM Range spec (taken out of HTML5).
Nie je zlé prečítať si DOM HTML5 Range, Extensions to other interfaces