jQuery的
on('submit', ...)
可以正确地捕获原生表单提交,即当提交按钮被按下时,但它与JS表单提交不兼容,至少在FF和IE上如此。考虑到这一点,如何才能“正确地”添加提交监听器呢?通过改变HTMLFormElement.prototype.submit
的行为来修改DOM原型在IE7上无效。你可以查看这个示例。
.submit()
不会触发 onsubmit 处理程序,这是有很好的原因的 - 因为你可能(并且经常)会非常容易地形成一个无限递归的提交处理程序。如果需要从js运行表单处理程序,则可以使用例如$("#myform").trigger('submit')
。 - Beetroot-Beetrootwindow.onpageunload
来进行一些基本的清理工作。 - Jeremy J Starcheronpageunload
不能很好地工作,其跨浏览器支持也有点古怪。 - Oleg