9

現在、これを使用してページで左右の矢印キーを押すと、前後に移動する機能をセットアップしました。

$(document).keydown(function (e) {
    if ($(e.target).is('input')) { return false
    } else if (e.keyCode == 37) {
        $(".pageback").click();
        return false;
    }
    if (e.keyCode == 39) {
        $(".pagenext").click();
        return false;
    }
});

これにより、矢印キーを使用して前後にブラウズできますが、テキスト ボックスが検出された場合でも、矢印キーはアクティブのままです。

これにより、テキストボックスにフォーカスがあるときにキーダウン機能が停止しますが、入力領域に何も入力できなくなります。

ヘルプ!

ありがとう

4

2 に答える 2

10

「また、入力エリアに何も入力することもできません。」

問題はこの部分です:

if ($(e.target).is('input')) { return false

イベント ハンドラーから戻るfalseと、イベントの既定の動作が妨げられます。

return trueor just (値なし)に変更するreturnと、デフォルトの動作 (この場合はフィールドへの入力) が許可されます。

(注: 入力だけでなく、テキストエリア要素も確認する必要がある場合があります。)

于 2012-12-08T03:20:56.197 に答える