Tengo el siguiente oyente establecido de "pagebeforechange" (muy similar al código propio de la documentación de jQuery Mobile) y un enlace en la página principal que está llamando http://localhost/#product?id=255979jQuery Mobile "pagebeforechange" ser llamado dos veces
//Bind Listener for Product Details
$(document).bind("pagebeforechange", function(e, data) {
//Only Run If Site is Initialized
if(ajaxSite.options.initialized) {
if (typeof data.toPage === "string") {
var u = $.mobile.path.parseUrl(data.toPage),
pl = /^#product/;
if (u.hash.search(pl) !== -1) {
console.log("showProduct being called.");
ajaxSite.showProduct(u, data.options);
e.preventDefault();
}
}
}
});
Cuando abro la consola JavaScript y haga clic en el enlace que estoy viendo lo siguiente:
showProduct being called.
showProduct being called.
me parece que no puede encontrar nada acerca de por qué sería conseguir llama dos veces. He visto otros errores donde vclicks se registran dos veces debido a un clic de borde, pero esto no tiene ningún sentido ya que se basa en el cambio de página real.
¿Está ejecutando un diseño de varias páginas o una sola página? http://jquerymobile.com/demos/1.0/docs/pages/index.html El motivo por el que pregunto es que está vinculando a $ (documento) en lugar de a la página Id. –
Diseño de página múltiple: el método "showProduct()" carga información en la segunda página y luego transiciones. – Jack
Me pregunto porque estás vinculando el $ (documento) en el que se está llamando varias veces, ¿podrías usar el pageId y probarlo? –