避免使用表单$ .ajax({})的enter键提交 - 使用jQuery

时间:2011-01-24 15:29:03

标签: jquery

我不想在点击回车键时提交表单$ .ajax({}),而是点击提交按钮。尝试用

$('#SubmitButton').click(function(event){

 if(event.keyCode==13) {
  //do something
 }

});

如何完成上述工作。

由于 让

2 个答案:

答案 0 :(得分:3)

嗯,您在点击事件处理程序中的key-中没有charCodeevent.which,所以这根本没有多大意义。您需要将keypress事件绑定到一个或多个输入文本控件,用户可以在其中键入(因此,触发返回)。

$('input:text').bind('keypress', function(e) {
   if( e.which === 13 )
       return false;
});

从事件处理程序返回false会导致两件事:

    在事件对象上调用
  • .preventDefault()
  • .stopPropagation()在事件对象
  • 上调用

应该阻止return冒泡到您的<form>节点,从而阻止提交。所以,实际上在这里调用e.stopPropagation()就足够了。

答案 1 :(得分:1)

我会尝试做同样的事情,但将它与.submit()绑定到表单。然后你可以返回false,或者你需要做的任何事情。

编辑:我要离开这里,因为它很有用。但我很快意识到不是因为这个问题,因为我认为你不能用这种方法跟踪按键。我把它归咎于醒来并且暂时没有真正触及过JavaScript。抱歉有任何困惑!