Utilizando el complemento prettyPhoto para abrir contenedores de contenido de estilo modal e intentando integrar con el seguimiento de eventos de Google Analytics para rastrear cuándo se abren los videos.jQuery vincular el detector de eventos antes que otro
El problema es que cuando me
$('a.videoClickListener').click(function(event){
console.log('here');
_gaq.push(['_trackEvent', 'Product Page', 'Video Open', '<?php echo $product->getNameWithManufacturer(); ?>']);
});
el evento nunca se dispara, como PrettyPhoto detiene el caso de continuar (con razón, ya que de lo contrario la página cambiaría si un hipervínculo se ha hecho clic).
prettyPhoto no parece proporcionar una función de devolución de llamada 'abierta', pero si lo hiciera no podría usarlo de todos modos, ya que los escuchas de prettyPhoto están configurados en algún lugar del diseño (usamos rel="prettyPhoto"
cada vez que queremos usar prettyPhoto, y pasa los parámetros a través de la URL, que es la forma recomendada por prettyPhoto de hacer las cosas). También me gustaría pasar los detalles del producto a Analytics, descartando a un oyente de apertura de video global en todos los eventos de apertura de prettyPhoto.
¿Cómo puedo vincular a mi oyente antes de el oyente prettyPhoto? Si resulta que tengo que usar .unbind()
, enlazar mi oyente, y luego volver a enlazar prettyPhoto, ¿cómo puedo desvincular un controlador especificado en un complemento?
Pruebe la siguiente solución para obtener los eventos en las versiones de jQuery más nuevas y más antiguas: stackoverflow.com/a/26892146/655224 – algorhythm
TypeError no detectado: no se puede leer la propiedad 'change' de undefined (...) – fdrv