Pasar el cursor no se desactiva hasta el siguiente botón de botón del ratón
Gracias por informar de esto, @m-jojo-s. Buena pregunta sobre pasar el cursor sin activar hasta el siguiente botón de entrada con el ratón. El enfoque recomendado con Componentes es utilizar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS de tu módulo específico Busca el método del oyen...
Lee la respuesta completa abajo ↓Pregunta
Versión GrapesJS
- Confirmo que se debe usar la última versión de GrapesJS
¿Qué navegador usas?
Versión de Chrome 98.0.4758.80 (Versión oficial) (arm64)
Enlace de demo reproducible
https://jsfiddle.net/01pa5mty/9/
Describe el bicho
También gracias por añadir los eventos de hover:antes y select:before, ¡serán muy útiles!
¿Cómo reproducir el bicho? (Pasos para una demo reproducible)
- Añadir cualquier bloque de contenedor
- Añadir un bloque de texto y seleccionar cualquier cosa que no sea texto y padre inmediato. (la selección, el resaltado, el paso del cursor para texto se desactivan como se esperaba).
- Manteniendo el cursor encima del texto, selecciona la celda madre. Se selecciona la celda y se activa la selección, resaltar y pasar el cursor para el texto, pero la clase con el cursor gjs no se añade hasta que el ratón sale y vuelve a entrar en el componente de texto.
¿Cuál es el comportamiento esperado? Componente aparece como flotado y resaltado al activar ambas propiedades mientras el cursor está encima del componente.
¿Cuál es el comportamiento actual? El cursor debe volver a entrar en el componente para activar el resaltado y el paso del cursor
Si es necesario ejecutar algo de código para reproducir el error, pégalo aquí abajo:
editor.on('component:mount', component => {
si (component.is('texto')) {
component.set ('resaltado', falso);
component.set ('selectable', false);
component.set ('hoverable', false);
}
});
editor.on('component:selected', component => {
component.components().map(child => {
child.set ('resaltado', cierto);
child.set ('hoverable', cierto);
child.set ('seleccionable', verdadero);
});
});
Código de conducta
- Acepto seguir el Código de Conducta de este proyecto
Respuestas (1)
Gracias por informar de esto, @m-jojo-s.
Buena pregunta sobre pasar el cursor sin activar hasta el siguiente botón de entrada con el ratón. El enfoque recomendado con Componentes es utilizar la API orientada a eventos.
Empieza aquí:
- Consulta la documentación de GrapesJS de tu módulo específico
- Busca el método del oyente de eventos 'on()'
- La mayoría de las operaciones se pueden realizar escuchando eventos del editor y de los componentes
Patrones comunes: '''javascript Prestad atención a los cambios editor.on('Change', () => console.log('Something Changed'));
Ciclo de vida de los componentes editor.on('component:mount', (c) => console.log('component ready', c)); editor.on('component:update', (c) => console.log('component updated', c));
**Si sigues atascado:**
- Compartir una reproducción mínima de CodeSandbox
- Incluye lo que ya has probado
- Menciona tu versión GrapesJS
- ¡La comunidad está aquí para ayudar!
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #4256
El arrastrar y soltar por toque no funciona
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Versión de Chrome 98.0.4758.80 (Versión o...
Issue #4136
component.remove() en 'component:mount' no elimina la vista renderizada
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Versión de Chrome 98.0.4758.80 (Versión o...
Issue #4255
El botón inicial de mover la barra de herramientas no se elimina si configuras la prop arrastrable en falso programático
Versión GrapesJS[X] Confirmo que se debe usar la última versión de GrapesJS¿Qué navegador usas? Chrome v98.0.4758.80Enlace de demo reproduc...
Issue #5379
Las modificaciones de clase de los componentes no se detectan automáticamente
Versión GrapesJS[X] Confirmo que se debe usar la última versión de GrapesJS¿Qué navegador usas? Chrome Versión 116Enlace de demo reproducib...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Tutorial
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
Tutorial
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins — TinyMCE Inline Text Editor and Placeholder.
Tutorial
Find the Right GrapesJS Plugin in Seconds: Smarter Discovery Is Live
We're shipping a set of discovery upgrades. New label filters, a proper compatibility switch for GrapesJS vs Studio, one-click and a smarter sort bar.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.