2010-07-20 1 views
1

J'ai une page Web/webapp qui fonctionne vraiment bien. Juste 2 problèmes en ce moment:Problèmes Webapp iPad: barre d'état sur la page, liens html/JS

La barre d'état de l'iPad n'est pas au-dessus de la page, comme je pense qu'il devrait être, mais c'est dans la page. Donc le top ~ 10px est recouvert par la barre d'état et donc mon menu à cet endroit est presque inutilisable. J'ai utilisé 'black-transulent' mais aussi 'black' comme styles de barre d'état.

Les liens Html quittent le mode d'application Web. Problème bien connu. J'ai trouvé une solution qui semble provenir de la iWebKit:

var a=document.getElementsByTagName("a"); 
for(var i=0;i<a.length;i++) 
{ 
    a[i].onclick=function() 
{ 
    window.location=this.getAttribute("href"); 
    return false 
} 

Mais cela outrepasse les événements de clic de liens Javascript que j'ai dans mon code. Est-il possible de vérifier si l'événement click est déjà défini? JQuery autorisé. Si je vérifie $ ('ImAButton') .cliquez sur le bouton retourne toujours la fonction.

Répondre

0

Si je comprends votre problème, ne pouvez-vous pas appeler preventDefaults dans le gestionnaire d'événements javascript?

+0

C'est ce que je fais déjà. Ils fonctionnent bien. Mais quand j'utilise la méthode ci-dessus, l'événement click sera écrasé et ne sera pas exécuté. Parce qu'il définit un nouvel événement onclick pour tous les liens. Non seulement pour les liens sans événement onclick. Le problème est d'obtenir seulement des liens, qui n'ont pas encore d'événement onclick. – Marks

+0

OK, je vois, donc au lieu de définir onClick pouvez-vous utiliser addEventListener? – HBP