2013-05-06 3 views
2

Je vais avoir un problème très étrange ...bouton désactivé cache-tête lorsque vous cliquez dessus

Lorsque je clique sur un bouton qui est désactivé, les rouleaux d'en-tête en haut ... (démo ci-dessous)

Pourquoi cela arrive?

Demo

Voici le code:

<div data-role="page" data-theme="b" @TempData["DataUrl"]> 
<div data-role="header" data-position="fixed"> 
    MyApp 
</div> 
<div data-role="content"> 
    <div style="height:300px">Content</div> 
     <div class="controlGroupButtons" data-role="controlgroup"> 
      <a class="Button1" data-role="button">Marcar</a> 
      <a class="Button2" data-role="button">Desmarcar</a> 
     </div> 
    </div> 

$(".Button1, .Button2").buttonMarkup().addClass("ui-disabled"); 
+0

Désolé, je ne vois pas de problème sur Firefox ou Chrome. Pouvez-vous décrire comment pouvons-nous le tester dans votre démo? – Gajotres

+0

Il ajoute la classe '.ui-fixed-hidden' à l'en-tête. – Omar

+0

@Gajotres Peut-être que votre panneau de résultats dans le JsFiddle est trop grand et n'a pas besoin de scrool ... essayez de diminuer la hauteur du panneau de résultat, abaissez et cliquez sur un bouton ... – amp

Répondre

3

il suffit d'ajouter data-tap-toggle="false" à la div d'en-tête et le problème disparaîtra! Parce que lorsque les boutons sont désactivés, le clic déclenchera l'événement tap. Une fois que l'événement Tap est déclenché, il affichera/cachera l'en-tête.

+0

Merci! il a résolu le problème ... Mais je ne comprends pas pourquoi ils sont liés ... À mon avis, la désactivation d'un bouton ne devrait pas interférer dans l'en-tête. Pouvez-vous me donner une explication pourquoi cela arrive? Merci encore! – amp

+0

ajoute la classe '.ui-disabled' à un élément, ajoute' z-index: 1' qui fait que toutes les autres couches viennent au-dessus. Les en-têtes fixes peuvent être basculés par défaut lorsque vous cliquez sur div contenu. Ainsi, lorsque vous cliquez sur les boutons désactivés, vous déclenchez réellement l'événement 'Tap' puisque le contenu div a un' z-index' plus élevé. ajouter 'data-tap-toggle =" false "' arrête de basculer en-tête. @amp – Omar

+1

Parfait;) Je comprends maintenant ... – amp

Questions connexes