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();
)