2009-09-23 5 views
2

J'essaie de créer une application web mobile-safari/iphone en utilisant le code jQuery que j'ai déjà écrit pour la version de bureau de l'application. Le problème que j'ai est que lorsque mon téléphone se met en veille avec l'application web en cours d'exécution, quand je le réveille (diapositive à débloquer) les gestionnaires d'événements JavaScript ne fonctionnent plus. Dans ce cas, lorsque je clique sur un lien qui permettait d'effectuer une mise à jour AJAX via un événement onclick, il suit le lien en ouvrant la page dans une nouvelle fenêtre Safari, brisant l'apparence de l'application iPhone native.Application Web iPhone Les événements JavaScript cessent après le réveil

Le code qui cesse de fonctionner:

$(function() { 
var ajaxLoad; 
var ajaxClick = function(e) { 
    e.preventDefault(); 
    e.stopPropagation(); 
    $("body").load($(this).attr("href"), ajaxLoad); 
} 
ajaxLoad = function() { 
    $(this).find("a").click(ajaxClick); 
} 
$("a").bind("click", ajaxClick); 
}); 

Lorsque le code fonctionne le résultat du lien ouvrira ses portes dans le cadre application web, quand il se casse, le code ouvrira dans une nouvelle fenêtre de safari, brisant le look d'une application réelle.

+0

Si vous allez poster une partie du code - cela pourrait aider ... – Dror

+0

Comme demandé, j'ai ajouté le code jQuery à la question. – user177843

+0

Avez-vous eu de la chance avec ça? Je rencontre un problème similaire: http://stackoverflow.com/questions/2204438/iphone-jquery-breaks-after-triggering-the-email-overlay – devth

Répondre

0

Non testé - mais cela aiderait à ajouter 'return false' à la fin de la fonction ajaxClick afin que le lien ne soit pas activé.

Questions connexes