2012-04-10 13 views
0

Kann jemand überprüfen und beraten, wenn mein Code Standard für Mobilgerät ist? Ich kann nicht scheinen, es auf dem iPhone und meinem Android zu arbeiten. Dies funktioniert gut auf meinem Desktop, aber nicht auf mobilen Geräten. Ich versuche, eine Hin- und Herschalten Checkbox zu erstellen, dass, wenn ein Benutzer die Checkbox wird es auf die Schaltfläche zeigen, wenn es deaktivieren sie die deaktivierte Version zeigen (‚#disableBtn‘)Javascript und Checkbox Kompatibilität mit mobilen Geräten

Javascript + Jquery

$(function() 
{ 
    $('#agreed').change(function() 
    { 
     if ($(this).attr("checked")) 
     { 
      $('#disableBtn').hide(); 
      $('#button').css('display', 'block'); 
      return; 
     } 
     $('#disableBtn').show(); 
     $('#button').css('display', 'none') 
    }); 
}) 

HTML

<input id="agreed" type="checkbox" name="check" value="1"> 

<a id="button" href="#>">Button</a> 
<span id="disableBtn">Disabled</span> 

CSS

#button { display: none } 
+0

Was funktioniert nicht, was auf Ihrem Desktop funktioniert? – Bergi

Antwort

1

if ($(this).attr("checked")) ist völlig falsch und ich kann nicht glauben, dass es auf Ihrem Desktop-Browser funktioniert. Ihr Code prüft, ob am Eingang ein Attribut checked vorhanden ist - und nein, es wird niemals eins geben. Siehe http://api.jquery.com/prop/ - die sogar "überprüft" in der Erklärung verwendet. Stattdessen sollte es Abgesehen davon, dass

if (this.checked) { 
... 

sein, Tasten und Eingänge (falls Sie eine echte Taste verwenden würden, nicht ein Anker - siehe auch Change the appearance of a disabled link) haben eine native Eigenschaft disabled. Benutze es.

+0

danke für das hinweisend ... Ich bin auch überrascht. – Pennf0lio

Verwandte Themen