Issue #2225💬 RespondidoAbierto el 28 de agosto de 2019por mogololaReacciones 0

Los eventos no funcionan correctamente en la versión 0.15.3

Respuesta rápidapor mogolola

Además, eventos como "desenfoque", "enfoque" (básicamente todo excepto "clic") no funcionan en la configuración de eventos de backbone (con eso me refiero a ver eventos en backbone: https://backbonejs.org/#View-events ). por ejemplo: si adjunto una callback a un evento de "focus", la callback nunca se llama. Pero se p...

Lee la respuesta completa abajo ↓

Pregunta

Hola,

El mecanismo de eventos parece haber cambiado mucho desde la versión 0.15x. Por ejemplo, normalmente cuando queremos evitar el comportamiento del botón por defecto, usamos "return false" al final de la función de callback, pero esto ya no funciona en esta versión (da igual lo que devuelvas), tengo que llamar "event.preventDefault()" fácilmente. Otro problema es que no puedo usar $.on para adjuntar el oyente del evento. Pero usar el método puro de JS "addEventListener" está bien. No entiendo por qué, pero creo que tiene algo que ver con el archivo "extender.js". Parece que añades algo para lidiar con todos los eventos y hay algunas imperfecciones.

Atentamente

Respuestas (3)

mogolola29 de agosto de 2019

Además, eventos como "desenfoque", "enfoque" (básicamente todo excepto "clic") no funcionan en la configuración de eventos de backbone (con eso me refiero a ver eventos en backbone: https://backbonejs.org/#View-events ). por ejemplo: si adjunto una callback a un evento de "focus", la callback nunca se llama. Pero se pueden llamar a los eventos de "clic" en respuesta a los eventos, excepto que "devolver falso" parece inútil.

artf4 de septiembre de 2019

¿Podrías dar ejemplos en vivo de lo que funcionaba en versiones anteriores y lo que no funciona ahora?

mogolola5 de septiembre de 2019

Ejemplo 1:

eventos: { 
        'haz clic en button.gjs-load-doload': "doLoad",
        ...
    },
doLoad(e) {
        como referencia a un evento de clic de botón, e.preventDefault() se vuelve necesario y no puede ser reemplazado 
 por retorno falso
        e.preventDefault();
        ...
        en versiones anteriores, solo return false es suficiente para detener la propagación y el comportamiento por defecto de los elementos, y no es necesario escribir manualmente e.preventDefault()
        return false;
    },

Ejemplo 2: Cuando intento adjuntar oyentes de eventos, solo se puede llamar a la callback a los eventos de clic

       eventos:{
             /* los eventos de clic están bien, la llamada de regreso se puede llamar */
            "haz clic .gjs-indicator-checkbox-holder": 'toggle',
            'haz clic en .indicator-refresh-singleton':'refreshSingleton',
            /* El desenfoque y el enfoque nunca funcionan
            'blur .auto-refresh-interval-input':'updateInterval',
            'focus .auto-refresh-interval-input':'focus'*/
        },```

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

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 →
Opción premium

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.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.