Как установить "фокус" обратно в контентный div

Работа в Windows 8 (движок IE10). Нет необходимости в совместимости с другими браузерами. У меня есть contenteditable div с текстом в нем. Пользователь нажимает на другой элемент на странице, и я хочу вставить некоторый HTML в div, где находится пользовательский курсор, а затем вернуть фокус обратно в div. Я могу вставить в div, но тогда пользователь не может продолжать печатать, и я не могу найти способ вернуть фокус. Кто-нибудь?

Здесь JavaScript, который я запускаю при щелчке по другому элементу...

var sel = document.selection.createRange();
sel.pasteHTML(span.outerHTML);

(Я нашел похожие вопросы, но никто не применим)

1 ответ

Просто используйте elem.focus();. Это должно работать нормально. Чтобы переместить курсор в нужное место, используйте setSelectionRange.

licensed under cc by-sa 3.0 with attribution.