jQuery 调用 DOM 提交方法时未触发提交事件
jQuery submit event not fired when calling DOM submit method
当我使用时 DOM form submit method to submit a form, the jQuery submit event handler 没有被调用,即使 w3c 说:"It performs the same action as a submit button."
我试过 jQuery 1.11.0 和 2.1.0。
<form id="form">
<button type="button" onclick="document.getElementById('form').submit()">submit onClick</button>
</form>
有关完整示例,请参阅 http://jsfiddle.net/g0kxmdmw/6/。
在Firefox和Chrome中,在文本输入中按回车,点击"submit button"和"submit jquery"都会触发处理程序并取消表单提交,而"submit onClick
" 和 "submit js dom" 不会触发处理程序,并将执行提交(GET
请求)。
我预计调用提交方法会显示与单击提交按钮相同的行为,但事实并非如此。这是 jQuery 中的错误吗?
不,调用表单的 submit() 方法不会触发提交事件,因此 none 的事件处理程序将被触发。
仅当用户通过单击按钮或任何此类操作触发提交事件时,才会触发提交事件。
The form's onsubmit event handler (for example, onsubmit="return
false;") will not be triggered when invoking this method from
Gecko-based applications. In general, it is not guaranteed to be
invoked by HTML user agents.
当我使用时 DOM form submit method to submit a form, the jQuery submit event handler 没有被调用,即使 w3c 说:"It performs the same action as a submit button."
我试过 jQuery 1.11.0 和 2.1.0。
<form id="form">
<button type="button" onclick="document.getElementById('form').submit()">submit onClick</button>
</form>
有关完整示例,请参阅 http://jsfiddle.net/g0kxmdmw/6/。
在Firefox和Chrome中,在文本输入中按回车,点击"submit button"和"submit jquery"都会触发处理程序并取消表单提交,而"submit onClick
" 和 "submit js dom" 不会触发处理程序,并将执行提交(GET
请求)。
我预计调用提交方法会显示与单击提交按钮相同的行为,但事实并非如此。这是 jQuery 中的错误吗?
不,调用表单的 submit() 方法不会触发提交事件,因此 none 的事件处理程序将被触发。
仅当用户通过单击按钮或任何此类操作触发提交事件时,才会触发提交事件。
The form's onsubmit event handler (for example, onsubmit="return false;") will not be triggered when invoking this method from Gecko-based applications. In general, it is not guaranteed to be invoked by HTML user agents.