在灯箱中使用键盘导航/识别' onkeypress' as' onclick'

时间:2014-07-12 10:39:53

标签: javascript jquery onclick onkeypress

我尝试使用键盘箭头向左/向右导航通过我的灯箱,但我的脚本无法正常工作。
如果脚本识别出onkeypress'那将会很棒。因为我必须使用' onclick'用于Google Analytics统计信息。
有什么想法?感谢。

脚本:

jQuery(function( $ ) {
var keymap = {};


keymap[ 37 ] = ".prev";

keymap[ 39 ] = ".next";

$( document ).on( "keyup", function(event) {
    var href,
        selector = keymap[ event.which ];
    if ( selector ) {
        href = $( selector ).attr( "href" );
        if ( href ) {
            window.location = href;
          }
        }
    });
});

HTML:

<li>
  <a href="#example-01" onclick="_gaq.push(['_trackPageview', location.pathname + location.search + '#example-01']);"><img src="images/thumbs/example-01.jpg" /></a>
    <div class="lb-overlay" id="example-01">
        <img src="images/full/example-01.jpg" />
                <div>
                    <a href="#example-00" onclick="_gaq.push(['_trackPageview', location.pathname + location.search + '#example-00']);" class="prev">PREV</a>
                    <a href="#example-02" onclick="_gaq.push(['_trackPageview', location.pathname + location.search + '#example-02']);" class="next">NEXT</a>
                </div>
     </div>
 </li>

2 个答案:

答案 0 :(得分:1)

我说试试:

$('body').on('keyup', function (e) {
    switch (e.which) {
        case 37:
            $('.prev')[0].click();
            break;

        case 39:
            $('.next')[0].click();
            break;
    }
});

答案 1 :(得分:1)

此代码适用于我的问题:

var current = 0;
    $(document).on('keyup', function (e) {
        switch (e.which) {
            case 37:
                $('.lb-prev')[--current].click();
                break;

            case 39:
                $('.lb-next')[++current].click();
                break;
    }
});
相关问题