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

发布于 2024-12-09 23:04:39 字数 705 浏览 0 评论 0原文

我制作了这个 jQuery 键盘导航来在画廊中后退和前进页面。它工作正常,除非您按下的按钮与您所在的页面具有相同的 url 值。如果发生这种情况,它将加载未定义的页面。

因此,如果您访问 mysite.com/prev.html 并且上一个按钮具有 您将被带到 /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;
    }
  });
}

I've made this jQuery keyboard navigation to go back and forward a page in a gallery. It works fine except if you press a button that has the same url value as the page you are on. If that happens it loads undefined page.

So if you are on mysite.com/prev.html and the prev button has <a href="prev.html" class="prev button">< Prev</a> you are taken to /undefined

Here is the jQuery i'm using.

/* 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;
    }
  });
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

牵你的手,一向走下去 2024-12-16 23:04:39

尝试

  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;

Try

  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;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文