Un usuario preguntó 👇
En el archivo “/jetpack/modules/lazy-images/js/lazy-images.js”, función “applyImage”: primero se clona la imagen, se cambia el clon y luego el clon reemplaza la imagen original.
Está escrito al final de la función:
// Fire an event so that third-party code can perform actions after an image is loaded.
theClone.trigger( 'jetpack-lazy-loaded-image' );
Intenté enganchar este evento de la siguiente manera:
jQuery('.jetpack-lazy-image').on('jetpack-lazy-loaded-image', function() {
console.log('the jetpack-lazy-loaded-image trigger fires');
});
pero no funciona y no puede funcionar porque el disparador de ‘imagen de carga diferida’ se libera en un clon de imagen que llega solo una fracción de segundo antes de que se encienda el disparador.
¿Podría explicarme cómo hacer un gancho en el evento ‘jetpack-lazy -loaded-image’?
Además, una investigación rápida sobre otros plugins Lazy Lazy (como Lazy Load con WP Rocket, Lazy Loader o a3 Lazy Load) muestra que los atributos de la imagen reemplazan la imagen existente sin la necesidad de un clon. Usar un clon solo parece complicar un poco las cosas, porque ningún evento jQuery puede vincularse a una imagen. Por ejemplo, los siguientes ejemplos no funcionarán:
jQuery('.jetpack-lazy-image').on('mouseenter', function() {
console.log('do something on mouseenter over the image')
});
jQuery('.jetpack-lazy-image').on('click', function() {
console.log('do something on click on the image')
});
Quería ejecutar alguna función JS en un evento de «clic» de imagen, pero no puedo usar el disparador de «clic» en la imagen, o el disparador de «disparador de imagen de carga de chorro perezoso» para adjuntar el «clic» » Fomente la imagen clonada.
Este tema fue modificado hace 1 año, 8 meses por.
(@lizkarkoski)
Hace 1 año, 8 meses
Hola –
Por el momento, no admitimos ningún gancho. jetpack-lazy-loaded-image
(@ silvadiego705)
Hace 1 año, 8 meses
Hola –
Estoy hablando de un estimulador de JavaScript, no de un gancho de acción PHP WordPress. Abra el archivo «/jetpack/modules/lazy-images/js/lazy-images.js» y vea la siguiente línea:
// Fire an event so that third-party code can perform actions after an image is loaded.
theClone.trigger( 'jetpack-lazy-loaded-image' );
Quiero «escribir código de terceros que realice acciones después de cargar una imagen», como se menciona en el comentario.
(@ silvadiego705)
Hace 1 año, 8 meses
De hecho, tengo que crear un evento de «mouse» sobre una imagen, pero eso no funciona porque la imagen original es reemplazada por un clon. De forma predeterminada, los objetos clonados no copian los controladores de eventos (consulte clon de jQuery ()), por lo que el evento «mouse» desaparece.
Luego encontré el disparador de «imagen de carga lenta de jetpack» que podría haberme ayudado en teoría. Pero esa línea parece ser un código muerto.
(@macmanx)
Moderador voluntario
Hace 1 año, 8 meses
Lo sentimos, para ser un poco más claro, el código personalizado está fuera del alcance de lo que podemos admitir aquí.
Si necesita que alguien lo construya, le recomendamos que contrate a alguien de https://jetpack.pro/
Le invitamos a hacer una pregunta a través de https://jetpack.com/contact-support/?rel=support aunque dudo que la respuesta sea la misma.
(@agricultor)
Hace 1 año, 3 meses
Realmente hay una forma de hacer esto.
jQuery(".jetpack-lazy-image").on("load", function() {
//do whatever you want.
jQuery(this).on("click",function() {});
});
Esta respuesta fue modificada hace 1 año, 3 meses.
¿Solucionó tu problema??
0 / 0