9
votes

Fermeture de JQuery Mobile Nouvelle Popup Cause de la page pour rafraîchir inutilement

J'utilise le nouveau contexte JQM avec la version 1.2.0 Alpha et mon problème est que ma page à partir de laquelle je appelle la popup est rafraîchie inutilement lors de la fermeture de la fenêtre de la touche ESC ou de cliquer sur l'écran ... Actualiser n'arrive que la première fois que je le ferme. Si je rouvre et fermez à nouveau, la fenêtre n'est pas rafraîchie ...

Il semble que pour une raison quelconque une raison pour une raison quelconque, le mécanisme de l'histoire de JQM se fait foiré ....

Il ne semble pas être une caractéristique intégrée car cela ne se produit pas pour tout contexte de la page de démonstration de la JQM.

Une idée de la façon de résoudre ce problème?

merci

Etienne


1 commentaires

J'ai connu des problèmes similaires lorsque l'URL actuelle n'est pas synchronisée avec la pile de navigation. Vous remarquerez que l'événement _handlehashankhange déclenche l'événement "Navigate" ($ .mobile.pagecontainer.trigger (navevent);), et l'auditeur attendu qui évalue ISdefaultPlusted à true, ne se déclenche pas une fois. Selon mon temps cette semaine, je peux soumettre une demande de traction. Je vous tiendrai au courant.


5 Réponses :


3
votes

par mon commentaire, voici une solution de contournement temporaire à la question. Il suffit de lier de manière appropriée à l'événement Navigate et d'appeler EventDefault. Cela empêchera le rechargement de la page. J'ai fini par liaison à la popupaftercle, seulement quand il a été ouvert:

  $('.my-popup-selector').on('popupafteropen', function () {
      $(this).one('popupafterclose', function () {
          $(window).one('navigate.popup', function (e) {
              e.preventDefault();
          });
      });
  });


1 commentaires

J'ai fini par la liaison (en direct) votre patch sur l'événement popupafteropen d'un sélecteur [Data-Role = "Popup"] et a résolu le problème sur toutes mes contextuelles de la demande. Merci beaucoup!



23
votes

J'ai eu un problème similaire et, comme je n'avais pas besoin d'utiliser l'histoire dans mon cas, j'ai résolu la désactivation de l'historique de pop up globalement comme ceci: xxx


1 commentaires

Merci!!! Cela a résolu mon problème! Je ne savais pas que la pop-upéra l'histoire.



5
votes

a trouvé ce message tout en ayant un problème similaire sur IE11 avec JQuery Mobile 1.4.5

J'ai trouvé que je pouvais empêcher la "recharge" lors de la fermeture de la popup en déclarant la fenêtre contextuelle avec l'historique des données = "False" Attribut dans mon HTML.

ex:

...


0 commentaires

0
votes

J'ai eu un problème similaire et je l'ai résolu avec l'utilisation de Historique: FALSE CODE>:

$("#selector").popup({ transition: 'slidedown', history: false, overlay: true });
$("#selector").popup("open");


0 commentaires

0
votes

Ajouter Historique des données = "False" Pour Popup Div. Ainsi, lorsque la popup ferme, il ne redirige pas une autre page.


0 commentaires