0

ユーザーがタブでさまざまな要素にジャンプできるフォームがあります。特別なアンカータグに到達したらタブを停止することにしました。

これはFirefoxで動作するコードです

    $('.next-tab').keypress(function(e){
        var code = (e.keyCode ? e.keyCode : e.which);
        console.log(code);
        if (code == 0 || code == 9){
            console.log("keypress")
            e.preventDefault();
            e.stopPropagation();
        }
    });

しかし、このコードはクロムでは機能しません。理由はわかりません。キープレスメソッドにも入りません。だから私はクロムにこのコードを使用しました

$('.next-tab').blur(function(e) {
            var code = (e.keyCode ? e.keyCode : e.which);
            console.log(code);
            if (code == 0 || code == 9){
                console.log("blur")
                e.preventDefault();
                e.stopPropagation();
            }
        });

それは条件を渡すぼかしメソッドに入りますが、何もしません。ユーザーは簡単に次の要素に移動できます。

4

1 に答える 1

2

Chrome をサポートするには、keydown イベントを使用する必要があるようです。

http://jsfiddle.net/qD2rk/

$('.next-tab').keydown(function (e) {
    var code = (e.keyCode ? e.keyCode : e.which);
    console.log(code);
    if (code == 0 || code == 9) {
        console.log("keydown")
        e.preventDefault();
        e.stopPropagation();
    }
});
于 2013-06-12T19:01:47.483 に答える