2012-06-07 4 views
1

Я использую ckEditor и работаю над функциями замены фрагментов/текста. У меня есть фрагменты, которые являются либо текстовыми строками, либо строками HTML (такими как элементы абзаца) .Я использую document.execCommand ('inserthtml', false, html), чтобы выполнить мою вставку содержимого, и в большинстве случаев он отлично работает.Хром HTML document.execCommand ('inserthtml' вставляет в следующую ячейку таблицы

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

В моем поиске не было много информации об этой ситуации, и я не знаю 're reall y понять, почему Chrome будет действовать именно так. Предназначено ли это поведение? Есть ли лучший способ вставить произвольный html, поддерживая позицию курсора?

ответ

2

Кажется, это ошибка WebKit. Вы можете обойти это, используя специальную замену для команды «InsertHTML». Следующая демо использует функцию от my answer to a related question, сохраняет положение каретки и работает в IE < 9 (в отличие от команды «InsertHTML», которой нет).

http://jsfiddle.net/timdown/7SZjm/2/

2

Использование CKEditor API я не вижу такой проблемы в API demo

С Chrome, я вставил таблицу, а затем я использовал кнопку вставки HTML, и она работала отлично.

Смежные вопросы