代码:
var formElement = document.querySelector('form');
formElement.addEventListener('submit', function (e) {
e.preventDefault();
console.log('addEventListener event handler');
this.submit(); // not causing recursive call.
}, false)
</script>
为什么不进行递归事件处理。我以为this.submit()会再次调用函数/事件处理程序(在它下面存在)。我没有遇到任何问题,但只是想知道它是如何工作的而不是递归调用。
答案 0 :(得分:3)
在表单上调用.submit本身不会触发事件,它只是提交表单。因此,事件处理程序不会被执行,因为没有事件。