ИЕ JS:как использовать PasteHTML(), когда choice.type == 'None'?
-
21-09-2019 - |
Вопрос
Я пытаюсь разрешить пользователю редактировать редактируемый div, но обнаружил, что не могу использовать PasteHTML, если не выбран какой-либо текст.
Я думал, что document.selection.createRange() вернет допустимый выбор нулевой длины (т.е.позиция), но увы нет.
Я действительно изо всех сил пытался найти какое-либо решение этой проблемы, не связанное с iframe (в настоящее время это не вариант).
Любые предложения/идеи/вопросы приветствуются.
Решение
Перед созданием элемента убедитесь, что фокус находится на редактируемом элементе div. TextRange
из подборки:
var div = document.getElementById("your_div");
div.focus();
document.selection.createRange().pasteHTML("<b>PASTED</b>");
Другие советы
Вы можете использовать текстовую область формы.Это простой и кроссбраузерный вариант, но вы не знаете, насколько ограничен ваш стиль и подходит ли использование формы или элемента формы для вашей проблемы.