【问题标题】:Jquery: Problem with keyboard navigationJquery:键盘导航问题
【发布时间】:2011-09-03 20:56:42
【问题描述】:

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

<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>

【问题讨论】:

    标签: javascript jquery keyboard navigation


    【解决方案1】:

    这应该可行:

    $(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;                                                                                                                                  
        }
    });
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2016-01-06
        • 1970-01-01
        • 1970-01-01
        • 2011-01-17
        • 2011-10-30
        • 1970-01-01
        • 2019-05-27
        • 1970-01-01
        • 2011-03-29
        相关资源
        最近更新 更多