1

最近、JQuery 1.7 から 2.0.2 にアップグレードしましたが、今は簡単なことをしたいと思っています。バージョン 1.7 に固執すれば動作しますが、どういうわけかバージョン 2.0 では動作しません。:-/ 私のページには 2 つのリンクがあります。

<span class="goButtons">
<a href="{$previousURL}" class="previousButton">&laquo;</a>
<a href="{$nextURL}" class="nextButton">&raquo;</a>
</span>

これらの 2 つのリンクは、私のフォト ギャラリーの前の画像と次の画像を参照しています。それらをクリックすると、正しい画像にリダイレクトされます。ここで、左矢印キーまたは右矢印キーを押すと、これらのリンクのクリックをトリガーするキーダウン ハンドラーを追加したいと考えました。

$(function () {
    $('.goButtons a').on('click', function () {
        console.log('a.' + $(this).prop('class') + ' was clicked... going to ' + $(this).prop('href'));
        return true;
    });

    $(window).keydown(function (e) {
        if (e.which == 37) 
            $('a.previousButton').trigger('click');
        else if (e.which == 39) 
            $('a.nextButton').trigger('click');
    });
});

Firebug がアクティブな状態でページを開いて右矢印キーを押すと、コンソールに次のように表示されます。

a.nextButton がクリックされました... /foto/11/ に移動します

残念ながら、ブラウザーはリンクされたページの読み込みを開始しません。それを妨げているように見えますが、これがページ上の唯一のJavaScriptです。:-(

4

3 に答える 3

1

実際には、次のようなことができます - 驚くべきことに - それはうまくいきます:

$('a.my_link')[0].click()
于 2013-12-25T10:29:05.373 に答える
0

a.trigger('click')ここでhttps://stackoverflow.com/a/1694803/2598398で、これがそのままでは機能しない理由の詳細な説明を見つけることができます。

于 2013-07-31T10:14:36.227 に答える
0

ちょうど解決策を見つけました。に変更しました

$('.goButtons a').on ('click', function () {
    window.location.href    =   $(this).prop ('href');
});

これは意図したとおりに機能します。:-)

于 2013-07-10T14:04:10.500 に答える