0

以下の例では、Shift キーが押されたときに searchForward が呼び出されますが
Shift + Tab キーが押されたときに searchBackward が呼び出されることはありません。 提案してください。

$(document).ready(function() {

    $('textarea').live('keydown', function(e) {
      // var keyCode = e.keyCode || e.which;
        if (e.which == 9 ) {    
        var currentIndex = getCaret($(e.target).get(0))
        searchForward($(e.target), currentIndex);
        return false
        } 
        if (e.shiftkey) {
         var currentIndex = getCaret($(e.target).get(0))
        searchBackward($(e.target), currentIndex);
        return false 
       }
    });
});
4

1 に答える 1

0

2番目ifの では、シフトキーと押されたキーではなく、シフトキーのみをチェックしています。最初の if ループ内に 2 番目の if ループを配置する必要があります。また、あなたはshiftKeyではなくを意味していると思いますshiftkey。JavaScript では大文字と小文字が区別されます。更新されたスニペットを見てください (また、重複するコードを の外に移動しましたif): JSFiddle

$(document).ready(function() {
    $('textarea').live('keydown', function(e) {
        var currentIndex = getCaret($(e.target).get(0))
        if (e.which == 9 ) {
            if (e.shiftKey) {
                searchBackward($(e.target), currentIndex);
            } else {
                searchForward($(e.target), currentIndex);
            }
            return false
        }
    });
});

JQuery または JavaScript: アンカー タグのハイパーリンクをクリックしているときにシフト キーが押されているかどうかを確認する方法も参照してください。

于 2013-10-24T10:51:22.410 に答える