我有一个ajax代码,根据收到的百分比改变div的宽度,然后再次循环该函数。我现在设置它的方式现在可以在谷歌浏览器和FF中完美运行但在IE8中(只有IE我已经测试过它)它冻结了
以下是调试器的屏幕截图。它显示了它当前处理的位置,它永远不会离开那个地方。我将超时更改为1000,1没有区别。
答案 0 :(得分:1)
onSubmit
是一个事件处理程序,你只是将该函数延迟了1毫秒,我的猜测就是Chrome& FF正在忽略这个代码,IE正在失败,因为IE是愚蠢的。
编辑哦,是的,IE不会像其他人一样冒泡,因为IE是愚蠢的。
OP的完整代码EDIT2 :http://pastebin.com/t8vdK8B2
显然onSubmit
是此代码中函数的名称,它也是一个事件处理程序。由于函数不是多态的,因此应该覆盖,但由于它是一个事件处理程序,我不确定。
编辑3
好的,所以这个onSubmit
函数应该可以工作并保留事件处理程序,但是我建议更改这个函数名,看起来你正在做的是尝试将变量传递给{中的函数{1}}你可以这样做:
setTimeout
答案 1 :(得分:0)
onSubmit事件在IE中没有冒泡,因此您需要直接将on submit事件添加到表单中。 E.g:
setTimeout(function(){document.getElementById("formToSubmit").onSubmit(upload_id); }, 1);
Here are details浏览器支持提交事件。