2012-08-02 2 views
0

J'essaie de faire exécuter une partie de code par jQuery-Mobile chaque fois qu'une page est affichée. Cependant, la page est générée automatiquement par un framework sous-jacent qui ne définit pas d'identifiant. Cela signifie que je peux contrôler le javascript mais pas la génération de la page. Par conséquent, j'utilise $ .mobile.activePage pour lier l'eventpagehow de l'événement sans succès. Pourquoi cela ne fonctionne-t-il pas et quelle serait la solution? Merci.jQuery Mobile - Liaison d'événements

$.mobile.activePage.bind('pageshow', function() { alert('message'); }

Répondre

3

Écouter événement 'pagechange'. Vous pouvez obtenir fromPage et toPage à partir de l'événement pagechange.

$(document).off('pagechange'); 
$(document).on('pagechange', function (e, ui) { 
    //triggers on page change 
    console.log('from page: %o', ui.options.fromPage); 
    console.log('to page: %o', ui.toPage); 
}); 
+0

Comment cela est-il supposé m'aider? Cela enregistrera un gestionnaire d'événements sur l'objet document. Cependant, j'en ai besoin seulement sur une page. De plus, comme les pages n'ont pas d'ID, je ne peux même pas vérifier si la page cible est réellement celle qui doit exécuter le code javascript. En outre, cela introduit un surcoût car il exécutera du code pour chaque changement de page, mais le script ne doit s'exécuter que sur une certaine page. – Ryan