JQuery键盘导航。为什么这个加载/未定义?

时间:2011-10-12 09:25:30

标签: jquery keyboard

我已经使这个jQuery键盘导航在画廊中返回和转发页面。它工作正常,除非您按下与您所在页面具有相同网址值的按钮。如果发生这种情况,它会加载未定义的页面。

因此,如果您使用的是mysite.com/prev.html并且prev按钮已<a href="prev.html" class="prev button">&lt; Prev</a>,则您将被带到/ undefined

这是我正在使用的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;
    }
  });
}

1 个答案:

答案 0 :(得分: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;