Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

210
Vistas
TinyMCE eliminando el elemento html no permitido con Chrome y Edge

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:

  • Cuando he arrastrado el elemento y empiezo a ir al editor, el cursor css está 'no permitido'
  • Agregué el parámetro 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.
  • La solución que tuve fue hacer clic en una posición de intercalación en el editor donde quiero soltar mi elemento, comenzar a arrastrar mi elemento, pero no ir al editor y soltarlo después de arrastrarlo. Aparecerá en la posición de intercalación en la que hice clic antes.

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.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda