フォーム内にテーブルがあります。テーブルにはいくつかのフォーム フィールドが含まれていますが、テーブルの外にもフォーム フィールドがあります (ただし、フォーム内にはあります)。
Enter と Return は伝統的にキーボードからフォームを送信するために使用されていることは知っていますが、テーブル内のフィールドに対してこの動作を停止したいと考えています。たとえば、テーブル内のフィールドにフォーカスして Enter キーを押しても、何も起こりません。テーブルの外側(ただしフォーム内)のフィールドにフォーカスすると、通常どおり送信されます。
このテーブルを対象とする jQuery プラグインがあります。簡単に言うと、これは私がこれまでに試したことです:
base.on('keydown', function(e) {
if (e.keyCode == 13) {
e.stopPropagation();
return false;
}
});
base
テーブル jQuery オブジェクトはどこにありますか。これは私のプラグインのinit
メソッド内にあります。ただし、Enter キーを押すと、引き続きフォームが送信されます。
どこが間違っていますか?
編集:いくつかの簡略化された HTML:
<form method="" action="">
<input type="text" /><!--this should still submit on Enter-->
<table>
<tbody>
<tr>
<td>
<input type="text" /><!--this should NOT submit on Enter-->
</td>
</tr>
</tbody>
</table>
</form>