IE JS: как использовать pasteHTML (), когда selection.type == 'None'? - PullRequest
2 голосов
/ 23 декабря 2009

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 23 декабря 2009

Убедитесь, что фокус находится на редактируемом div перед созданием TextRange из выбора:

var div = document.getElementById("your_div");
div.focus();
document.selection.createRange().pasteHTML("<b>PASTED</b>");
0 голосов
/ 23 декабря 2009

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

...