为什么第二个事件监听器不触发?
Why does the second eventlistener not fire?
我的页面上有两个事件侦听器,但是当我单击按钮时第二个侦听器没有触发。如何触发提交事件侦听器?
document.getElementById("myButton").addEventListener("click", function(e) {
e.preventDefault();
document.getElementById("myForm").submit();
});
document.getElementById("myForm").addEventListener("submit", function(e) {
e.preventDefault();
console.log("submit triggered")
});
<form id="myForm">
<input><br>
<button id="myButton" type="button">Click</button>
</form>
根据 this link,'submit' 事件在用户提交表单时触发,而不是在您使用脚本提交表单时触发。
Current browsers do not adhere to this part of the html specification. The event only fires when it is activated by a user - and does not fire when activated by code.
我的页面上有两个事件侦听器,但是当我单击按钮时第二个侦听器没有触发。如何触发提交事件侦听器?
document.getElementById("myButton").addEventListener("click", function(e) {
e.preventDefault();
document.getElementById("myForm").submit();
});
document.getElementById("myForm").addEventListener("submit", function(e) {
e.preventDefault();
console.log("submit triggered")
});
<form id="myForm">
<input><br>
<button id="myButton" type="button">Click</button>
</form>
根据 this link,'submit' 事件在用户提交表单时触发,而不是在您使用脚本提交表单时触发。
Current browsers do not adhere to this part of the html specification. The event only fires when it is activated by a user - and does not fire when activated by code.