2010-12-12 10 views
0

Ich versuche, das Folgende zu verwenden, aber es funktioniert nicht. Ich mache etwas falsch, das ist sicher.jQuery: IE spezifische Ausgabe

$.keyNav(); 
    $.whenPressed('t',function(){ 
    $("#grid-wrapper article.post").fadeTo(200, 1); 
     }); 
    $.whenPressed('p',function(){ 
    $("#grid-wrapper article.post").not(".category-photographie").fadeTo(200, 0.1); 
    $("#grid-wrapper article.post").filter(".category-photographie").fadeTo(200, 1); 
     }); 
     $.whenPressed('d',function(){ 
    $("#grid-wrapper article.post").not(".category-design").fadeTo(200, 0.1); 
    $("#grid-wrapper article.post").filter(".category-design").fadeTo(200, 1); 
     }); 
     $.whenPressed('v',function(){ 
    $("#grid-wrapper article.post").not(".category-video").fadeTo(200, 0.1); 
    $("#grid-wrapper article.post").filter(".category-video").fadeTo(200, 1); 
     }); 
     $.whenPressed('w',function(){ 
    $("#grid-wrapper article.post").not(".tweet").fadeTo(200, 0.1); 
    $("#grid-wrapper article.post").filter(".tweet").fadeTo(200, 1); 
     }); 
}); 

Wenn ich die letzten }); funktioniert es entfernt, aber nicht in IE so vielleicht meine Syntax ist falsch?

Ich benutze das keynav Plugin:

https://github.com/BrianTheCoder/jquery-keyboard-navigation/blob/master/README

+0

Sie sind sicher, dass an anderer Stelle kein Fehler auftritt? Die IE-Statusleiste zeigt irgendetwas? –

Antwort

2

Ich bin nicht wirklich sicher, was Ihr IE Problem es, es ist nicht wie Ihr Code geschrieben irgendwelche Probleme verursachen würde scheint ... höchstwahrscheinlich gibt es ein Fehler vor dieser Code, wie ein nachgehendes Komma etwas IE wird nicht tolerieren). Überprüfen Sie die Entwicklerkonsole auf Fehler in IE (in IE8 +) und der Statusleiste in früheren Versionen, um zu sehen, was passiert.

Ich habe jedoch einen Vorschlag, verwenden Sie eine Objektkarte, um Ihren Code hier zu reduzieren, da Sie sich viel wiederholen ... damit können Sie auch mehr mögliche Syntaxfehler, so:

var map = { t:"*", 
      p:".category-photographie", 
      d:".category-design", 
      v:".category-video", 
      w:".tweet" }; 
$.keyNav(); 
$.each(map, function(key, selector) { 
    $.whenPressed(key,function(){ 
    $("#grid-wrapper article.post").not(selector).fadeTo(200, 0.1) 
          .end().filter(selector).fadeTo(200, 1); 
    }); 
}); 
+0

Vielen Dank für den Code. Ich bin kein Programmierer, also habe ich mein Bestes getan ;-) In IE8 bin ich in der Konsole und klicke auf Start Debugging, die Seite auf der linken Seite lädt neu, aber nichts erscheint auf der rechten Seite. – Gab