我有一个ajax代码,根据接收到的百分比更改div的宽度,然后再次循环该函数。我现在的设置方式现在可以在谷歌浏览器和FF中完美运行,但是在IE8中(只有IE已经测试过),它冻结在具有匿名函数的IE8 setTimeout
下面是调试器的屏幕快照。它显示了它当前正在处理的位置,它永远不会离开那个位置。我已将超时时间更改为1000,1次没有改变。
我有一个ajax代码,根据接收到的百分比更改div的宽度,然后再次循环该函数。我现在的设置方式现在可以在谷歌浏览器和FF中完美运行,但是在IE8中(只有IE已经测试过),它冻结在具有匿名函数的IE8 setTimeout
下面是调试器的屏幕快照。它显示了它当前正在处理的位置,它永远不会离开那个位置。我已将超时时间更改为1000,1次没有改变。
onSubmit事件在IE中不会冒泡,因此您需要直接将提交事件添加到表单中。例如:
setTimeout(function(){document.getElementById("formToSubmit").onSubmit(upload_id); }, 1);
Here are details浏览器支持提交事件。
onSubmit
是一个事件处理程序,你只是延迟了1ms的功能,我的猜测是Chrome浏览器忽略了这段代码,并且IE因为IE很愚蠢而失败。
编辑哦,嗯,IE不冒泡像其他人一样提交,因为IE是愚蠢的。对于OP这里
EDIT2整个代码:http://pastebin.com/t8vdK8B2
显然onSubmit
是这个代码的函数的名称,它也是一个事件处理程序。因为函数不是多态的,所以应该覆盖,但是因为它是一个事件处理程序,所以我不确定。
编辑3
好了,所以这onSubmit
功能应该工作,独自离开事件处理程序,但我建议改变这个函数的名称,它是什么样子,你正在做的是试图通过一个变量在setTimeout
内的功能,你可以这样做:
setTimeout(onSubmit,1,id);
大声笑对不起,我认为我为我的功能选择了一个坏名字。这是整个代码。 pastebin.com/t8vdK8B2 – 2012-02-27 21:50:55
onSubmit应该被连接到一个窗体。 – 2012-02-27 21:43:31