我无法找到解决方案的小问题(也许我用错误的关键字搜索):
情况:
我通过按Enter键(13)阻止提交表单。 需要注意的是,表单将由AJAX提交,因此不会重新加载页面。
防止输入密钥是一项简单的任务,它可以工作:
$(document).on('keypress', 'input', function (e) {
if (e.which === 13) {
return false;
}
});
问题:
由于return false
,对下一个输入的关注不起作用。
如果我省略return false
部分,表单自然会由AJAX 提交,focus()
正在运行。
$(document).on('keypress', 'input', function (e) {
if (e.which === 13) {
// Simplifying the selector of the next input
// because this isn't the problem
$(this).next().focus();
return false;
}
});
关于如何解决的任何想法?
答案 0 :(得分:1)
尝试调用if
条件中的函数并在该函数中使用$(this).next().focus();
。在callback
功能中,您可以return false
阻止表单提交。