2011-11-28 86 views
2

我需要在contentEditable iframe上設置插入符的位置。它需要在Google Chrome和Firefox上工作(不需要IE)。如何在可編輯的iframe上設置插入符的位置?

我該怎麼做?

我已經試過

var ifr = document.querySelector(".myIframe"); 
var idoc = ifr.contentDocument; 
var ibody = ifr.contentDocument.body; // content: "teststring|" 

var caret = 2; 

var sel = ifr.contentDocument.getSelection(); 
var range = sel.getRangeAt(0); 

var el = ibody; 
range.setStart(el, caret); 
range.setEnd(el, caret); 

並沒有什麼發生在Chrome瀏覽器...我有什麼改變?

回答

6

應該工作:

var ifr = document.querySelector(".myIframe"); 
var idoc = ifr.contentDocument; 
var ibody = ifr.contentDocument.body; // content: "teststring|" 

var caret = 2; 

var sel = ifr.contentDocument.getSelection(); 
var range = sel.getRangeAt(0); 

var el = ibody; 
range.setStart(el, caret); 
range.setEnd(el, caret); 

sel.removeAllRanges(); 
sel.addRange(range); 

看最後兩行

相關問題