3

フォーム内にタブ可能な div を作成する場合、ほとんどのブラウザーは、div がフォーカスされて Enter キーが押されたときにフォームを送信しません。

この例を参照してください: http://jsfiddle.net/SBfKs/3/

IE9は何らかの理由でそうします。ブラウザ間で一貫性を持たせるために IE9 でこれをオーバーライドする方法を知っている人はいますか?

どんな助けでも大歓迎です。

4

1 に答える 1

2

興味深いことに、この場合、IE がフォームを送信するとは知りませんでした。

キープレス (IE は で送信keydown) をトラップし、 の場合はデフォルトの動作をキャンセルできます<div><div>フォーカスする機能を追加する唯一の要素である場合、これで問題が解決するはずです (jQuery ソリューション) :

$(document).ready(function() {
    var $form = $('#foo');
    $form.on('keydown', 'div', function(e) {
        code = (e.keyCode ? e.keyCode : e.which);
        if (code === 13) {
            e.preventDefault();
        }
    });
});

ここでフィドル

于 2012-04-26T01:07:03.407 に答える