Вопрос

Я пытаюсь разрешить пользователю редактировать редактируемый div, но обнаружил, что не могу использовать PasteHTML, если не выбран какой-либо текст.

Я думал, что document.selection.createRange() вернет допустимый выбор нулевой длины (т.е.позиция), но увы нет.

Я действительно изо всех сил пытался найти какое-либо решение этой проблемы, не связанное с iframe (в настоящее время это не вариант).

Любые предложения/идеи/вопросы приветствуются.

Это было полезно?

Решение

Перед созданием элемента убедитесь, что фокус находится на редактируемом элементе div. TextRange из подборки:

var div = document.getElementById("your_div");
div.focus();
document.selection.createRange().pasteHTML("<b>PASTED</b>");

Другие советы

Вы можете использовать текстовую область формы.Это простой и кроссбраузерный вариант, но вы не знаете, насколько ограничен ваш стиль и подходит ли использование формы или элемента формы для вашей проблемы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top