将焦点设置在提交按钮上将触发绑定事件
Setting focus on submit button fires the bound event
我有几个文本输入,其中按回车键应该移动到下一个,最后一个文本输入后,提交按钮应该有焦点而不被按下。用enter键从一个输入跳转到另一个输入就可以了:
$("input.insert").keydown(function (event) {
if(event.keyCode == 13) {
$("input.insert").eq($("input.insert").index(this) + 1).focus();
}
});
但是当光标位于提交按钮前面的最后一个文本输入字段时,我按回车键,焦点跳转到提交按钮,并且释放其单击事件。为什么?我希望用户在离开最后一个输入字段后再次按enter键。
事先非常感谢您的帮助
如果没有看到代码的其余部分,很难确切地说出代码发生了什么,但我确信添加event.preventDefault()
行将解决您的问题。它基本上阻止浏览器对事件执行默认操作,参见示例http://jsfiddle.net/3m4eL/
$('input[type="text"]').keydown(function (event) {
if (event.keyCode == 13) {
$("input").eq($("input").index(this) + 1).focus();
event.preventDefault();
}
});
请注意,我只将函数绑定到文本输入的keydown事件,而不是提交输入—否则您根本无法提交表单
请注意,event.preventDefault()
在ie9版本之前不存在,但是jQuery为您添加了缺失的功能,并使用event.returnValue = false
作为备用
相关文章:
- 在offline.js中绑定事件
- 如何在angularjs中检查Kendo树视图数据绑定事件
- 在页面高度更改时绑定事件
- 在页面重新加载后绑定事件,并仅使用Knockout.js、html和js创建新的html元素
- 使用onbeforeunload绑定事件
- 传递类似绑定事件的参数
- 如何对修改后的元素重新绑定事件
- 聚合物模板自动绑定:在模板绑定事件之前的核心选择火灾
- Jquery差异B/w Jquery绑定事件
- SessionStorage绑定事件
- extjs,如何在表单操作中绑定事件
- 模拟 Web 浏览器方向更改事件以使用 Jasmine 测试绑定事件处理程序函数
- 绑定事件发射器上的单个事件
- 如何在绑定事件期间排除元素
- 将鼠标悬停在位于我的页面上的 iframe 上的绑定事件,其中包含包含的 src
- 在 jQuery 中创建 DOM 之前的绑定事件
- 如何在页面加载时在 ajax 调用中绑定事件处理程序后触发事件
- 使用 ajax 加载的页面绑定和取消绑定事件处理程序
- 咖啡脚本构造函数中的绑定事件
- 将数据添加到动态创建的元素和绑定事件