Javascript 为什么赢了';在我取消提交事件后,侦听器是否处理keyup事件?

Javascript 为什么赢了';在我取消提交事件后,侦听器是否处理keyup事件?,javascript,Javascript,我的代码: var form = document.getElementById("form"); form.addEventListener("submit", function(event){ event.preventDefault; }); var input = document.getElementById("input"); input.addEventListener("keyup", function(event){ if (event.keyCode === 13)

我的代码:

var form = document.getElementById("form");
form.addEventListener("submit", function(event){
  event.preventDefault;
});
var input = document.getElementById("input");
input.addEventListener("keyup", function(event){
  if (event.keyCode === 13) {
    handleSubmit();
  }
});
我取消了提交事件,但我希望在
enter
keyup
上调用
handleSubmit
。但是,当我运行页面,在表单中键入一些内容,然后按enter键时,什么也没有发生。我尝试使用不同的
keyCode
并监听表单的
keyup
事件,但无法修复它。我不想使用单击事件


编辑:我解决了。查看我的答案。

请检查此项,我认为
preventDefault
stopPropagation
应该在
keydown
事件上

var form = document.getElementById("form");
form.addEventListener("submit", function(event){
  event.preventDefault();
});
var input = document.getElementById("input");
input.addEventListener("keydown", function(event){
  if (event.keyCode === 13) {
    handleSubmit();
    event.preventDefault();
    event.stopPropagation();
  }
});
这对我很有用:

var form = document.getElementById("form");
form.addEventListener("submit", function(event){
  handleSubmit();
  event.preventDefault();
});

我必须调用
preventDefault
的原因是,我的web主机在提交表单后总是刷新页面,这是我不想要的。

当您按enter键时,它会触发提交事件。因此,您可以做的是阻止表单在提交时提交,但要调用您的
handleSubmit
函数。您是否已验证提交已取消<代码>window.default不执行任何操作,因为您不调用该函数(它应该是
window.preventDefault();