Jquery 使用enter键防止多次提交表单

Jquery 使用enter键防止多次提交表单,jquery,enter,Jquery,Enter,下面是我的代码 $('#myDIV').keydown(function (event) { var key=event.which || event.charCode; if(key == 13) // the enter key code { event.preventDefault(); importItem(); } }); 当我多次按enter按钮时,importItem()会被多次调用,如何防止这种情

下面是我的代码

$('#myDIV').keydown(function (event) {
      var key=event.which || event.charCode;
      if(key == 13)  // the enter key code
      {
        event.preventDefault();
        importItem();
      }
});
当我多次按enter按钮时,importItem()会被多次调用,如何防止这种情况发生?我在这里没有submit功能来使用issubmitted类型的代码。

使用setTimeout()来延迟和防止代码的多次执行

    var timeout = null;
    $('#myDIV').keydown(function (event) {
          var key=event.which || event.charCode;
          if(key == 13)  // the enter key code
          {
            event.preventDefault();
            if(timeout != null){
                clearTimeout(timeout);
                timeout = null;
            }
            timeout = setTimeout(function(){
               importItem(); 
            }, 1000);
          }
    });

您可以这样尝试
var checker=true$('#myDIV').keydown(函数(事件){var key=event.which | | event.charCode;if(checker){if(key==13)//输入键代码{event.preventDefault();importItem();checker=false;})它不允许我在不刷新pageclick事件的情况下对不同的表单再次使用enter键?你的意思是按键事件?是的,我的坏像上面评论中的示例请检查每次我按enter键时,checkchecker都会变成真的,恐怕这不起作用。我在使用gap提交表单时按了enter键,然后它又被提交了多次,您想在允许使用另一个回车键之前先完成提交吗?是的,完全正确,在提交表单之后,我只想回车键在按下后再次启动。您还可以发布您的函数
importItem()
// Define a global flag
allowSubmit = true

// And in your custom submit event function
if allowSubmit
   $('#yourForm').submit() #Fire native submit function manually here
   allowSubmit = false
else
   return false