我正在进行分页。
为了帮助用户使用键盘快捷键更改页面,而不是单击鼠标,我想出了一个jQuery解决方案,用CTRL + →
和CTRL+ ←
$(document).keydown(function(event) {
if (event.ctrlKey) { // if ctrl is being held
var keycode = event.keyCode ? event.keyCode : event.which;
if(keycode === 39) { // for rightwards arrow (for leftwards arrow keycode === 37)
window.open($('#pagination li.next a').attr('href'), '_parent'); // open the next link
}
}
});
我的问题是为什么它不适用于常规.trigger('click')
,如下所示:
$('#pagination li.next a').trigger('click');
答案 0 :(得分:1)
$('#next').click(function() {
window.open('http://www.stackoverflow.com', '_blank');
});
$('#prev').click(function() {
window.open('http://www.google.com', '_blank');
});
$(function() {
$('#next').trigger('click')
})
答案 1 :(得分:1)
我没有找到问题的确切答案,我想根据收集的信息和人们的帖子发布一个略有不同且最终的,运作良好的解决方案。谢谢那些回复的人!
当你构建分页时,我相信,用户很乐意只需点击←Ctrl / Ctrl→即可在页面之间切换。
以下代码只有一个改进 - 错误发生在第一页和最后一页 - 当页面上没有下一个或上一个按钮时,因为您在最后一个分页或第一个分页时,返回的初始代码undefined(显然),所以我修复了它,并希望与那些可能感兴趣的人分享最终结果:
$(document).keydown(function (event) {
var keycode = event.keyCode ? event.keyCode : event.which;
if (event.ctrlKey) {
if (keycode === 39) {
var nextExists = $('#pagination li.next a').attr('href');
if (nextExists) window.location.href = $('#pagination li.next a').attr("href");
}
if (keycode === 37) {
var previousExists = $('#pagination li.previous a').attr('href');
if (previousExists) window.location.href = $('#pagination li.previous a').attr("href");
}
}
});