如何在可编辑的iframe上设置插入符的位置?

如何在可编辑的iframe上设置插入符的位置?

问题描述:

我需要在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浏览器...我有什么改变?

应该工作:

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); 

看最后两行