Контекст - это Chrome 37.0.2062.120 m.
Я использую execCommand для вставки html в редактируемый div. Мой вызов execCommand выглядит следующим образом:
function insertHTML(){
document.execCommand('insertHTML', false, '<span id="myId">hi</span>');
}
Когда редактируемый div выглядит так:
<div contenteditable="true">
some [insertion point] content
</div>
и я использую execCommand для вставки html в contenteditable div, все атрибуты HTML вставляются так, как ожидалось, и я получаю следующее:
<div contenteditable="true">
some <span id="myId">hi</span> content
</div>
Когда, однако, я вставляю тот же самый html в эту структуру:
<div contenteditable="true">
some content
<div>more [insertion point] content</div>
</div>
Атрибуты удаляются из вставленного пролета и заканчиваются следующим образом:
<div contenteditable="true">
some content
<div>more <span style="font-size: 10pt;">hi</span> content</div>
</div>
Есть ли способ предотвратить это?