2012-10-25 28 views
3

我一直在試圖選擇編程基礎上開始和結束索引的textarea的文本,但由於某些原因,選擇由幾個字符的位置偏移:在文本區域中選擇文本編程方式在IE 8

我的用戶進行我存儲到數據庫的初始手動選擇。 爲了得到我使用這裏列出Caret position in textarea, in characters from the start (由Tim下回答)

我存儲由用戶作出的選擇的方法中,初始選擇的開始/結束位置,而當他們回來的網頁我想在之前的選擇中默認。

我用於基於存儲的位置我用添唐氏功能提取的選擇代碼如下:

function SelectText(start,end) { 
    var textArea = document.getElementById("textArea"); 

    var inputRange = textArea.createTextRange(); 
    inputRange.collapse(true); 

    inputRange.moveStart("character", start); 
    inputRange.moveEnd("character", end - start); 

    inputRange.select(); 
} 

這似乎是問題是由換行/空格引起的。有誰知道如何正確地在IE瀏覽器編程選擇基於開始和結束?

+0

好像選擇由每換行符 – TGH

+0

IE(和Windows一般)一個字符偏移表示換行符使用兩個字符:'\ r \ n'(不知道訂單)。所以你可以在創建範圍 – RobG

回答

1

我不知道到底是否會幫助你,但你可以嘗試使用它是由Tim羽絨可以通過如下的URL開發RangyInputs JS庫:http://code.google.com/p/rangyinputs/

至於我,我用瘦長(其是由Tim Down開發的)我的一個項目中的內容可編輯div,它確實運行良好並且幫助了我很多。

有關支持的方法,你可以找到的維基頁面上的文檔:http://code.google.com/p/rangyinputs/wiki/Documentation

+0

之前先用一個新行'\ n'替換這兩個字符的任何序列。謝謝。我會對這個庫做更多的測試,但看起來很有希望 – TGH

相關問題