2011-10-12 72 views
0

我已經做了這個jQuery鍵盤導航回去和轉發畫廊中的頁面。除非您按下與您所在頁面具有相同url值的按鈕,否則它工作正常。如果發生這種情況,它加載未定義的頁面JQuery鍵盤導航。爲什麼這個加載/未定義?

所以,如果你是mysite.com/prev.html和上一個按鈕有你帶到<a href="prev.html" class="prev button">&lt; Prev</a> /未定義

這裏是我使用了jQuery。

/* Keyboard navigation */ 
if ($(".next").length>0) { // Only execute if next button exists 
    $(document).keyup(function(e) { 
    switch(e.keyCode) { 
     case 37 : // Left arrow 
     $('.prev').addClass("active"); 
     window.location=$('.prev').attr('href'); 
     break; 
     case 39 : // Right arrow 
     $('.next').addClass("active"); 
     window.location=$('.next').attr('href'); 
     break; 
    } 
    }); 
} 

回答

0

嘗試

case 37 : // Left arrow 
    $('.prev').addClass("active"); 
    var whereto = $('.prev').attr('href'); 
    if (typeof(whereto) != 'undefined') window.location = whereto; 
    break; 
    case 39 : // Right arrow 
    $('.next').addClass("active"); 
    var whereto = $('.next').attr('href'); 
    if (typeof(whereto) != 'undefined') window.location = whereto; 
    break; 
+0

對不起,我是JS福利局和我不太清楚如何解決這個問題?'條件 後失蹤)打破這個錯誤]如果(類型(whereto)!='undefined')window.location = whereto;' – firefusion

+1

修復了它。 typeof需要是一個單詞,並且需要在條件附近使用大括號。 – firefusion