我试图使用 jQuery 的 trigger() 方法将箭头导航应用于图像库。
我从另一个stackoverflow用户那里得到了一个例子,它似乎很好,但是当我向列表项添加真实链接时,它们只会在单击时加载,而不是在按下箭头键时加载。
在这个 JSfiddle中,最后两个列表项“apple”和“microsoft”具有真正的链接,当它们被箭头键激活时,它们应该将页面加载到 iFrame 上,但它们没有。它们仅在单击时才能正常工作。
如何使按键等于点击?
var chosen = "";
$(document).keydown(function(e){ // 38-up, 40-down
chosen = $('li.selected').index(); //grab the current selection
if (e.keyCode == 40) {
if(chosen === "") {
chosen = 0;
} else if((chosen+1) < $('li').length) {
chosen++;
}
selectImage(chosen);
return false;
}
if (e.keyCode == 38) {
if(chosen === "") {
chosen = 0;
} else if(chosen > 0) {
chosen--;
}
selectImage(chosen);
return false;
}
});
function selectImage(whichIndex) {
$('li:eq('+whichIndex+') a').trigger("click");
}
$("#selection a").click(function() {
$('li').removeClass('selected');
$(this).parent().addClass('selected');
$("#debug").text( $(this).attr("href") +" was just clicked");
});