W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
getSelection() 方法可以返回一個 Selection 對象,表示用戶選擇的文本范圍或光標的當(dāng)前位置。
selection = window .getSelection();
function foo() {
let selObj = window.getSelection();
console.log(selObj);
let selRange = selObj.getRangeAt(0);
// 其他代碼
}
在 JavaScript 中,當(dāng)一個對象被傳遞給期望一個字符串(如:window.alert(),或document.write())的函數(shù)時,將調(diào)用該對象的 toString() 方法并將返回的值傳遞給該函數(shù)。當(dāng)它與其他函數(shù)一起使用時,當(dāng)它實際上是具有屬性和方法的對象時,這可以使對象看起來像是一個字符串。
在上面的示例中,在將它傳遞給 window.alert() 時會自動調(diào)用 selObj.toString()。但是,如果沒有該屬性或方法,直接在 Selection 對象上嘗試使用 JavaScript String 屬性或方法(如 length 或 substr)將導(dǎo)致錯誤,如果有,則可能會返回意外結(jié)果。要將Selection對象用作字符串,請直接調(diào)用其 toString() 方法:
var selectedText = selObj.toString();
你還可以使用 Document.getSelection(),兩個方法等價。
值得注意的是,目前在 Firefox, Edge (非 Chromium 版本) 及 Internet Explorer 中,getSelection() 對 <textarea> 及 <input> 元素不起作用。 HTMLInputElement.setSelectionRange() 或 selectionStart 及 selectionEnd 屬性可用于解決此問題。
還要注意選擇不同于焦點(詳見 Selection 及輸入焦點)??墒褂?Document.activeElement 來返回當(dāng)前的焦點元素.
規(guī)范 | 狀態(tài) | 注釋 |
---|---|---|
Selection API
該規(guī)范中'Window.getSelection()'的定義。
|
Working Draft
|
新規(guī)范 |
HTML編輯API
該規(guī)范中“Window.getSelection()”的定義。
|
Editor's Draft
|
初步定義 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: