Как установить позицию каретки на редактируемом фрейме? - PullRequest
2 голосов
/ 28 ноября 2011

Мне нужно установить позицию каретки на iframe contentEditable.Он должен работать в 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 Ответ

6 голосов
/ 28 ноября 2011

Это должно работать:

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

Посмотрите на две последние строки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...