Допустим, у меня есть contenteditable контейнер с неконтенибельными элементами
<div contenteditable="true">
This is editable <span contenteditable="false">this not</span> This is editable again
</div>
Когда я выделяю какой-то текст вокруг неконтенифицируемой середины и выполняю: document.execCommand('bold', false);
, это то, что я хочу:
Это доступно для редактирования, но не для редактирования. снова
This <b>is editable </b><b>this not </b><b>This is editable</b> again
Однако, это результат (с использованием Chrome)
Этот доступен для редактирования это не Это редактируемое снова
This <b>is editable</b> this not <b>This is editable</b> again
Fiddle: https://jsfiddle.net/qx1vs6dc/3/
Кстати: в скрипке Firefox полностью разрушает структуру и повторно сортируетТекст, в моем реальном приложении Firefox работает правильно, только Chrome игнорирует неконтролируемые части.
Кто-нибудь знает, как это исправить?Или, может быть, есть другой способ, чем document.execCommand использовать браузер родной WYSIWYG?