看後插件似乎FirePad使用textarea
。
根據another SO post的回答,似乎textareas
不使用與其他節點相同的選擇範圍。
的accepted answer解釋它是這樣的:
有多餘的bizarreness與textarea的節點回事。如果我記得 正確,那麼當您在IE, 中選擇它們時,它們的行爲與其他任何節點相同,但在其他瀏覽器中,它們具有獨立的選擇範圍,其中 通過 節點上的.selectionEnd和.selectionStart屬性公開。
highest voted answer顯示了一個解決方案。
該解決方案使用的參考直接textarea
節點和使用該元件的selectionEnd
和selectionStart
性能,與此類似從那裏獲取所選範圍:
function myFunction() {
var e = document.getElementById('thearea');
//Mozilla and DOM 3.0
if ('selectionStart' in e) {
var l = e.selectionEnd - e.selectionStart;
var start = e.selectionStart,
end = e.selectionEnd,
length = l,
text = e.value.substr(e.selectionStart, l);
alert(text);
}
}
DEMO - 使用selectionStart
和selectionEnd
爲textarea
我不確定這些日子裏所有瀏覽器的情況是否相同,但上面的代碼和鏈接的SO中的附加信息應該可以幫助您獲得理想的結果。
你的回答是好,但您的演示吮吸;-) – musefan 2013-04-26 15:39:34
@musefan:對不起,忘了點擊保存的小提琴:)我固定的,現在。很高興你注意到它。謝謝。 – Nope 2013-04-26 15:41:23