我有一些代碼返回選擇的文本,我可以將該字符串分配給一個變量,但現在我需要的是兩個變量,一個用於選擇前的文本,另一個用於選擇後的文本。 下面是獲得選擇的代碼:Javascript:我可以得到一個選擇的文本,現在如何獲得選擇之外的文本?
function findSelection(){ //returns the selection object.
var userSelection;
if (window.getSelection) {userSelection = window.getSelection();} // Mozilla Selection object.
else if (document.selection){userSelection = document.selection.createRange();} //gets Microsoft Text Range, should be second b/c Opera has poor support for it.
if (userSelection.text){return userSelection.text} //for Microsoft Objects.
else {return userSelection} //For Mozilla Objects.
}
然後我找到anchorOffset和focusOffset找到插入符號位置。我試着用這些修改的範圍對象,像這樣:
var range = document.createRange();
range.setStart(textdiv,0);
range.setEnd(textdiv,5);
凡textdiv
是一個變量抱着最後一個div用戶點擊。問題是Firefox只是給我一個"Security error" code: "1000"
在線range.setStart(textdiv,0);
。
有沒有更簡單的方法去做到這一點?我真的只需要文字,沒有什麼更多。
這'findSelection'功能是有缺陷的,正如我在(顯然忽略)答案解釋你的關於這段代碼的問題:http://stackoverflow.com/questions/2820650/javascript-functions-return-lines-of-function-code-or-native-code-what-am/2825473#2825473 – 2010-05-14 10:04:41