我想指定firefox選擇一個範圍。我可以輕鬆地使用IE,使用range.select();.看來,FFX預計一個DOM元素。我錯了嗎,還是有更好的方法去解決這個問題?範圍選擇和Mozilla
我首先獲取文本選擇,將其轉換爲範圍(我認爲?)並保存文本選擇。這是我從最初得到的範圍:
// Before modifying selection, save it
var userSelection,selectedText = '';
if(window.getSelection){
userSelection=window.getSelection();
}
else if(document.selection){
userSelection=document.selection.createRange();
}
selectedText=userSelection;
if(userSelection.text){
selectedText=userSelection.text;
}
if(/msie|MSIE/.test(navigator.userAgent) == false){
selectedText=selectedText.toString();
}
origRange = userSelection;
我稍後更改選擇(成功)。我通過在IE中的範圍以及在ffx中的dom ID來實現。但是在我這樣做後,我想將選項設置回原來的選擇。
這就像在IE瀏覽器的魅力:
setTimeout(function(){
origRange.select();
},1000);
我願做這樣的事情在FFX:
var s = w.getSelection();
setTimeout(function(){
s.removeAllRanges();
s.addRange(origRange);
},1000);
不幸的是,FFX一直沒有合作的,這不工作。有任何想法嗎?
你能告訴我們一些代碼?這會讓我們更容易看到發生了什麼。我想你讀了https://developer.mozilla.org/en/DOM/Selection – 2010-04-19 23:31:44