为什么事件提交不起作用,而 $('form').submit()
起作用?
但是当在输入字段中按 Enter 时它会起作用
document.getElementById("mform1").addEventListener('submit', function(e) {
e.preventDefault()
alert('123')
});
<form id="mform1" name="mform1" enctype="multipart/form-data" method="post">
<input type="text">
</form>
最佳答案
提交事件仅在用户提交表单时触发。当 JavaScript 提交它时它永远不会触发。
您可以通过显式触发事件来伪造它:
document.getElementById("mform1").addEventListener('submit', function(e) {
e.preventDefault()
alert('123')
});
var fake_submit = new Event("submit");
document.getElementById("mform1").dispatchEvent(fake_submit);
<form id="mform1" name="mform1" enctype="multipart/form-data" method="post">
<input type="text">
</form>
关于javascript - addEventListener 不适用于 element.submit(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48063449/