我正在开发一个包含大量AJAX的大型Web应用程序,其事件处理已经失控.我正在尝试建立一个event delegation系统来管理所有这些,但我想知道是否有IE的非冒泡表单提交的解决方法(有很多表单可以通过AJAX插入/更新).我提出的最好的事情是每次从AJAX调用得到响应时执行一些javascript来重新加载提交处理程序,但这看起来很难看.有任何想法吗?
此外,有没有人有一个很好的参考,哪些事件不能在不同版本的IE中正确传播?我很难找到好的信息(虽然this other question有点).
来自网站的一个真实示例:存在一些用户内容的就地编辑.做事件委托,我会让身体听取提交事件,然后看看哪个元素触发了事件并相应地处理它.由于提交不会在IE中冒泡,这不起作用. 5美元的解决方案是为所有其他事件执行事件委托,并在Prototype中使用类似的方式处理提交:
// call this onl oad:
$$('form').invoke('observe', 'submit', function(event) { /*delegate*/ });
但这对于动态创建的表单不起作用(我必须每次都如上所述重新实例化处理程序),如果我可以“制作”表单在IE中提交泡沫,那么整个事情会更好.到处都是普通代表团(没有特殊情况等).
解决方法:
你能否让表单返回false并只在提交按钮而不是表单提交事件上查找CLICK事件?然后通过AJAX调用以编程方式提交表单.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。