2012-02-23 10 views

Respuesta

8

Se puede llegar a la página desde la que el usuario está llegando dentro del data objeto:

$(document).bind("pagebeforechange", function (event , data) { 
    console.log(data.options.fromPage.attr('data-url')); 
});​ 

Tenga en cuenta que ya va a enlazar a la document elemento en lugar de un solo elemento data-role="page" que disparará dos veces para cada cambio de página, una para el fromPage y otra para el toPage. Los datos pasados ​​al controlador de eventos para el evento de cada página serán los mismos que los datos para la otra página.

Aquí es una demostración: http://jsfiddle.net/Atfrf/2/

+0

Dispara dos veces, pero en la segunda vez no hay toPage. Si desea la página actual, puede hacerlo en cualquier momento: $ .mobile.activePage.attr ('data-url') –

0

¿Por qué no se puede hacer $(this).parent('div[data-role|="page"]').attr('data-url')

+1

Actualmente el PO es vinculante para el 'document' elemento, por lo que' this' se referirá a la 'document' elemento. Si enlaza a algo como '[data-role =" page "]', podría usar 'this', pero como este evento se dispara en ambas páginas, obtendrá ambas páginas igual a' this' en su propio evento manejadores. – Jasper

2

El método attr no es un trabajo en algunos navegadores, así que es mejor utilizar el método jqmData. El jqmData puede funcionar en cualquier espacio de nombres.

$(document).bind("pagebeforechange", function (event , data) { console.log(data.toPage.jqmData('url')); });​

Cuestiones relacionadas