#javascript #html #tinymce
#язык JavaScript #HTML #тинимсе
Вопрос:
У меня проблема с Chrome и Edge, связанная с удалением. У меня в правой части моей html-страницы есть html-элементы, которые я могу удалить. Слева-редактор tinymce. Все в редакторе настроено правильно, я искал множество решений для решения своей проблемы, но безуспешно.
Цель состоит в том, чтобы перетащить элемент справа и поместить его в редактор. Если у меня есть какой-то текст в редакторе, он должен быть отброшен в положение курсора редактора, где находится мышь с элементом перетаскивания. С firefox он работает хорошо, у меня нет проблем.
Проблемы с Chrome и Edge:
- Когда я перетащил элемент и начинаю заходить в редактор, курсор css «запрещен»
- Я добавил параметр
auto_focus : 'tinyid'
при инициализации редактора (не нужно этого делать в Firefox), где tinyid-идентификатор текстовой области, содержащей редактор tinymce. - Решение, которое у меня было, состояло в том, чтобы щелкнуть в позиции курсора в редакторе, где я хочу удалить свой элемент, начать перетаскивать свой элемент, но не заходить в редактор и удалить его после перетаскивания. Он появится в позиции курсора, на которую я нажимал раньше.
О решениях, которые я пробовал:
Чтобы установить фокус
tinyMCE.activeEditor.focus();
tinymce.execCommand("mceFocus", false, "tinyid");
tinyMCE.get('tinyid').focus();
Чтобы получить выделение и положение каретки с помощью:
var objSelection = tinyMCE.activeEditor.selection.getSel();
var intCaretPosition = objSelection.anchorOffset;
Но все это не работает. Я повторяю, что это работает в Firefox. Для перетаскивания я использую это:
$('.blocUndragged') .bind('dragstart', function(event, ui){ // start tinymce.execCommand("mceFocus", false, "tinyid"); }) .bind('drag', function(event, ui){ // while tinymce.execCommand("mceFocus", false, "tinyid"); }) .bind('dragend', function(event, ui){ // end tinymce.execCommand("mceFocus", false, "tinyid"); moveElementDraggedIntoEditor(event);});
Функция moveElementDraggedIntoEditor(событие) — это функция, в которой я переработал html-элемент, который я удалил, чтобы переформатировать его.
Если вам нужно больше уточнений, я постараюсь добавить некоторые коды.
Спасибо, что попытались найти решение моей проблемы.