Jquery:键盘导航问题

时间:2011-05-28 08:42:15

标签: javascript jquery keyboard navigation

我使用此脚本使用键盘箭头键进行导航。但问题是我无法触发点击。

<script>
$(document).keyup(function(e){
    switch (e.keyCode){
        case 39:
        if( $(".imgnav-next").attr("href")){
            $(".imgnav-next").trigger("click");
        }
        break;
        case 37:
        if( $(".imgnav-prev").attr("href")){
            $(".imgnav-prev").trigger("click");
        }
    break;
    }
});
</script>

这是带导航的html部分:

<div class="imgnav-prev-container">
    <a href="prev.html" class="imgnav-prev">Next pic</a>
</div>
<div class="imgnav-next-container">
    <a href="next.html" class="imgnav-next">Previous pic</a>
</div>

2 个答案:

答案 0 :(得分:2)

这应该有效:

$(document).keyup(function(e){        
    switch (e.keyCode){                                                                                                                     
        case 39:                                                                                                                            
        if( $(".imgnav-next").attr("href")){      
            window.location = $(".imgnav-next").attr("href");       
        }                                                                                                                                   
        break;                                                                                                                              
        case 37:                                                                                                                            
        if( $(".imgnav-prev").attr("href")){      
            window.location = $(".imgnav-prev").attr("href");       
        }                                                                                                                                   
    break;                                                                                                                                  
    }
});

答案 1 :(得分:0)

它实际上是点击,它似乎没有做任何事情,因为你没有绑定到你的a标签上的任何内容,说它被点击了。此外,我不认为允许使用JS在浏览器中进行虚假点击,我的意思是,当你用鼠标点击它并转到URL时,就像使用相同的行为一样。您可以编写代码使其成为click但它不会像您点击它时那样转到href。但是你可以通过以下方式伪造行动:

  `window.location.href = $(".imgnav-next").attr("href");`