应用于箭头键的jQuery单击触发器不工作

应用于箭头键的jQuery单击触发器不工作,jquery,triggers,arrow-keys,Jquery,Triggers,Arrow Keys,我试图使用jQuery的触发器方法将箭头导航应用于图像库 我从另一个stackoverflow用户那里得到了一个这样的例子,它看起来不错,但是当我向列表项添加真正的链接时,它们只会在单击时加载,而不会在按下箭头键时加载 最后两个列表项,苹果和微软有真正的链接,当它们被箭头键激活时,它们应该将页面加载到iFrame上,但它们没有。它们只有在单击时才能正常工作 如何使按键与单击相等 var chosen = ""; $(document).keydown(function(e){ // 38-up,

我试图使用jQuery的触发器方法将箭头导航应用于图像库

我从另一个stackoverflow用户那里得到了一个这样的例子,它看起来不错,但是当我向列表项添加真正的链接时,它们只会在单击时加载,而不会在按下箭头键时加载

最后两个列表项,苹果和微软有真正的链接,当它们被箭头键激活时,它们应该将页面加载到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");   
});
.trigger函数只会导致与jQuery一起附加的处理程序方法执行。它不会导致执行元素的正常行为。也就是说,它不会加载

您可以使用e.preventDefault来阻止元素执行其默认行为,并添加显式执行该行为的代码。这样,它将在单击和调用.trigger时执行

在您的情况下,需要设置的src属性

尝试将事件处理程序更改为:

$("#selection a").click(function(e) {
    var $a = $(this);
    e.preventDefault();
    $a.parent().addClass('selected').siblings().removeClass('selected');
    $('iframe[name=iframeload]').prop('src', $a.attr('href'));
    $("#debug").text( $a.attr("href") +" was just clicked");   
});

我不知道如何应用这个…脚本中有吗?因为我必须指向许多不同的链接,所以我想在html标记中指定这些链接。@Rene-在我更新答案之前,你的最后一条评论是什么?如果是,请参阅更新。是的,我在更新答案之前写了最后一条评论。谢谢今晚我会调查的,太好了!我刚刚设法添加了这个,它正按照我所希望的方式工作,每次点击/按键都会触发另一个javascript动作。非常感谢…是否可以使顶部缩略图成为脚本的默认选择?按向下箭头键将选择它,但由于它已在html中被选中,因此只需再次加载它。另外:是否可以使每个箭头上下滚动100像素?或者以其他方式将选定的缩略图保持在可见范围内?