Tengo un problema con Chrome y Edge, sobre la caída. Tengo en el lado derecho de mi página html, elementos html que puedo colocar. En el lado izquierdo, el editor tinymce. Todo sobre el editor está configurado correctamente, busqué muchas soluciones para resolver mi problema, pero sin éxito.
El objetivo es arrastrar un elemento desde la derecha y soltarlo en el editor. Si tengo algún texto en el editor, debe colocarse en la posición de intercalación del editor donde está el mouse con el elemento de arrastre. Con firefox funciona bien, no tengo problemas.
Problemas con Chrome y Edge:
auto_focus : 'tinyid' en la inicialización del editor (no es necesario hacerlo en Firefox), donde tinyid es la identificación del área de texto que contiene el editor tinymce.Acerca de las soluciones que probé:
Para establecer el enfoque
tinyMCE.activeEditor.focus();tinymce.execCommand("mceFocus", false, "tinyid");tinyMCE.get('tinyid').focus();Para obtener la selección y la posición del símbolo de intercalación con:
var objSelection = tinyMCE.activeEditor.selection.getSel();var intCaretPosition = objSelection.anchorOffset;Pero todo esto no está funcionando. Repito que funciona en Firefox. Para arrastrar y soltar, uso esto:
$('.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);});La función moveElementDraggedIntoEditor (evento) es una función en la que reelaboré el elemento html que solté para volver a formatearlo.
Si necesita más precisiones, intentaré agregar algunos códigos.
Gracias por tratar de encontrar una solución a mi problema.