2012-04-25 15 views
3

フォーム内にtabbable divを作成すると、ほとんどのブラウザはdivをフォーカスしてEnterを押したときにフォームを送信しません。IE9 tabbable divフォームは送信されませんか?

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

IE9は、何らかの理由かかわりません。誰もIE9でこれをオーバーライドしてブラウザ間で一貫性を持たせる方法を知っていますか?

ご協力いただければ幸いです。

答えて

2

興味深いことに、私はIEがこの場合にフォームを提出するのを知らなかった。

​​にキー押しをトラップし(IEを送信する)、<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(); 
     } 
    }); 
}); 

Fiddle here

+0

をいただきありがとうございます、これは私は正確にオーバーライドの一種であります探していた! –

関連する問題