2011-12-09 8 views
10

Estoy intentando algo de la siguiente manera,

$(document).bind ('pageshow', function (e, data) { 
    console.log ($('#page_spots')); 
    console.log ($.mobile.activePage); 

    if ($.mobile.activePage == $('#page_spots')) { console.log ('Bingo!'); } 
}); 

Ser #page_spots un div con el atributo data-role conjunto de page. En el ejemplo anterior, cuando la página activa es #page_spots, quiero iniciar sesión en "Bingo!" en la consola

Soy un novato completo de jQM y no sé si esta debería ser la manera correcta o no.

Gracias de antemano y disculpas por mi inglés.

Respuesta

26

Puede obtener el ID de la página activa de $.mobile.activePage y compararlo con una cadena en lugar de tratar de comparar a un objeto jQuery:

$(document).bind ('pageshow', function (e, data) { 
    console.log ($('#page_spots')); 
    console.log ($.mobile.activePage); 

    if ($.mobile.activePage.attr('id') == 'page_spots') { console.log ('Bingo!'); } 
}); 

Esto es una demostración: http://jsfiddle.net/E6YuA/

$.mobile.activePage es bueno tener porque siempre es un objeto en caché del elemento actual data-role="page" al que puede hacer referencia rápidamente.

actualización

Estaba leyendo esto de nuevo y no necesito usar .attr() para encontrar el ID, se puede un poco más rápidamente mediante el acceso al atributo directamente desde el DOMElement: $.mobile.activePage[0].id

+0

Gracias Jasper! No puedo aceptar tu respuesta todavía pero lo haré en 2 minutos. – novato

+0

¡Gracias también por su edición! – novato

Cuestiones relacionadas