Удаление html-элемента TinyMCE не допускается в Chrome и Edge

#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-элемент, который я удалил, чтобы переформатировать его.

Если вам нужно больше уточнений, я постараюсь добавить некоторые коды.

Спасибо, что попытались найти решение моей проблемы.