3
我已經搜索了幾天,但無法找到一個固體解決方案來獲取選擇開始/結束在Internet Explorer中,我試過this和this解決方案。在IE中的選擇範圍
他們都涉及使用document.selection.createRange(),下面的代碼將工作相當不錯,但如果你去到一個新行(按輸入一個或更多的時間),然後試圖讓選擇啓動/結束您在按下輸入之前結束。從我看到的createRange()不會選擇最新的空行換行,我不希望代碼太亂,所以有沒有不同的解決方案呢?
function selecetion_range()
{
var range = document.selection.createRange();
var stored_range = range.duplicate();
stored_range.moveToElementText(textarea[0]);
stored_range.setEndPoint('EndToEnd', range);
return {
start: stored_range.text.replace(/\r/g,'').length - range.text.replace(/\r/g,'').length,
end: stored_range.text.replace(/\r/g,'').length
}
}
編輯:
爲了澄清這個問題,可以說,我的光標是在這句話的結尾:
「一些隨機文本
<這裏>」
一旦我用上面的代碼選擇的起點是:
「一些隨機文本<這裏>」
@丹尼斯:你應該發佈一個解答鏈接並接受它。 – 2009-08-31 15:42:58