我有一个表格位于一个表单中。该表格包含一些表单字段,但表格之外还有一些表单字段(但仍在表单内)。
我知道通过键盘使用Enter和Return通常用于提交表单,但我想停止表格内字段的此行为。例如,如果我聚焦于表格内的一个字段并按下Enter/Return,则不会发生任何事情。如果我聚焦于表格之外的一个字段(但仍在表单内),则会正常提交。
我有一个针对此表格的jQuery插件。简而言之,这是我迄今所尝试过的:
我知道通过键盘使用Enter和Return通常用于提交表单,但我想停止表格内字段的此行为。例如,如果我聚焦于表格内的一个字段并按下Enter/Return,则不会发生任何事情。如果我聚焦于表格之外的一个字段(但仍在表单内),则会正常提交。
我有一个针对此表格的jQuery插件。简而言之,这是我迄今所尝试过的:
base.on('keydown', function(e) {
if (e.keyCode == 13) {
e.stopPropagation();
return false;
}
});
base
是 jQuery 对象中的表格对象。这段代码位于我的插件的 init
方法中。然而,按下回车键仍会提交表单。
我在哪里出错了?
编辑: 一些简化的 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>
base
是什么,它看起来像是一个 jQuery 对象,但它不遵循 命名约定。 - gdoronbase
是jQuery对象表格”。 - Martin Beanbase
名称来自于这个插件的起源:http://starter.pixelgraphics.us/ - Martin Bean