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

时间:2011-11-28 01:26:12

标签: javascript iframe contenteditable caret

我需要在contentEditable iframe上设置插入符号位置。它需要在Google Chrome和Firefox上运行(不需要IE)。

我该怎么做?

我试过

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上没有任何反应......我需要更改什么?

1 个答案:

答案 0 :(得分: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);

看看最后两行