我有一些JavaScript基於用戶選擇的操作html。對於真正的瀏覽器,我使用槓桿的「範圍」的對象,方法得到這樣的:檢測JavaScript中的換行符的問題範圍對象
var sel = window.getSelection();
var range = sel.getRangeAt(0);
var content = range.toString();
內容變量包含所有選定的文本,它工作正常。但是我發現我無法檢測到結果字符串中的換行符。例如:
選定的文本:
ABC
高清
GHI
range.toString()的計算結果爲 「ABCDEFGHI」。
對特殊字符的任何搜索都不會返回\ n \ f \ r或甚至\ s的實例。但是,如果我將變量寫入可編輯控件,則換行符會再次出現。
有誰知道我錯過了什麼?
這些選擇和操作在可編輯的div上可能是相關的。 Chrome,FireFox和Opera中也有相同的行爲。令人驚訝的是IE瀏覽器需要完全不同的代碼,但這裏沒有任何問題,除了它只是IE瀏覽器。
非常感謝。
'range.toString()評價爲「abcdefghi」'是什麼意思?你用什麼來檢驗這個價值?調試器?警報()? – 2009-07-18 04:39:25
你正在將`range`值寫入可編輯控件或`range.toString()`嗎? – RaYell 2009-07-18 04:48:36