【问题标题】:Jquery left right navigation not workingJquery左右导航不起作用
【发布时间】:2013-03-28 16:15:44
【问题描述】:

我有以下简单的 html 页面:

<html>
<head>
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(document).keydown(function(e){
    if (e.keyCode == 37) {  // left
       $('#prev').click();   
       return false;
    } else if (e.keyCode == 39) {  // right
       $('#next').click();
       return false;
    }
});
</script>
</head>

<body>
<a id="next" href="/next">next</a>
<a id="prev" href="/prev">prev</a>
</body>

</html>

我想让用户使用左右键盘键浏览文章。因此,单击左箭头应该转到 /prev 链接,单击右箭头应该转到 /next 链接。由于某种原因我无法在任何浏览器中运行它。

谢谢

【问题讨论】:

  • 准备好打包文件了吗?
  • 尝试包装文档,但没有区别

标签: javascript jquery html function


【解决方案1】:

像这样:

$(document).keydown(function(e){    
    if (e.keyCode == 37) {  // left
       window.location.href = $('#prev').attr('href');   
       return false;
    } else if (e.keyCode == 39) {  // right
       window.location.href =  $('#next').attr('href');  
       return false;
    }
});

您在一个元素上调用.click(),但这不会触发click 事件,那是.trigger() 用于:

$(document).keydown(function(e){
    if (e.keyCode == 37) {  // left
       $('#prev').trigger('click');   
       return false;
    } else if (e.keyCode == 39) {  // right
       $('#next').trigger('click');
       return false;
    }
});

【讨论】:

  • 他并没有通过他正在做的事情来绑定处理程序,他正在调用绑定的函数,该函数不存在。看起来他也需要一个准备好的文档包装器。
  • 第一个函数运行良好,但第二个函数即使在添加文档就绪后也无法运行
猜你喜欢
  • 1970-01-01
  • 2017-09-27
  • 1970-01-01
  • 2011-05-05
  • 2021-11-16
  • 1970-01-01
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
相关资源
最近更新 更多