2012-03-29 9 views
3

Also, ich brauche dieses Ereignis zu verwenden, damit ich Blogposts navigieren kann. Ich benutze die 'J' Taste, um zum vorherigen Post und die 'K' Taste zu gehen, um zum nächsten Post zu gehen. Mein Problem ist, dass das Ereignis beim ersten Versuch funktioniert, aber dann nicht mehr funktioniert. Wenn ich den Browser neu starte, funktioniert es, wenn ich J oder K drücke und es mich zum vorherigen/nächsten Beitrag weiterleitet. Aber wenn ich dann nochmal drücke, tut es nichts.JQuery Keyup-Ereignis funktioniert nicht

Entschuldigung, wenn ich es nicht genau genug erklären kann und danke für die Hilfe.

$(document).keyup(function (event) { 
    if (event.keyCode == 74) { 
     var left_link = $('#nav-left a').attr('href'); 
     alert(left_link); 
     if(typeof left_link !== 'undefined' && left_link !== false) 
     window.location = left_link; 
    } 
    else if (event.keyCode == 75) { 
    var right_link = $('#nav-right a').attr('href'); 
    alert(right_link); 
    if(typeof right_link !== 'undefined' && right_link !== false) 
     window.location = right_link; 
    } 
}); 

Auch wenn ich nicht die Umleitung tun und nur diese Warnungen funktioniert es nicht.

+2

ist dieses Skript auf den Seiten enthalten, zu denen Ihr Code weitergeleitet wird? – FreeCandies

+0

die Warnungen funktionieren nicht auf der zweiten Tastatur? –

+0

der Alarm funktioniert auch nicht und ja, das Skript ist auf den Seiten enthalten, wo ich die Umleitung – sticksu

Antwort

3

Es gab ein Problem mit dem Laden des Skripts, ich habe eine Verzögerung von 1 Sekunde angewendet und jetzt funktioniert es ganz gut.

Danke trotzdem.

+2

Das Hinzufügen einer Verzögerung ist eine schlechte Wahl: Sie wissen nicht immer, wie lange die Verzögerung dauern wird, um das Skript zu laden. Verwenden Sie die Methode jQuery (document) .ready(), um dies zu vermeiden. –

3

Nachdem Sie den Speicherort geändert haben, wird ein neues Dokument geladen. Ein Dokument ohne Listener für Schlüsselereignisse.