簡體   English   中英

帶有匿名功能的IE8 setTimeout

[英]IE8 setTimeout with Anonymous function

我有一個ajax代碼,它根據收到的百分比更改div的寬度,然后再次循環該函數。 我安裝它的方式現在可以在谷歌瀏覽器和FF中完美運行,但是在IE8(僅我已對其進行測試的IE8)中,它凍結在

這是調試器的屏幕截圖。 它顯示了當前正在處理的位置,並且從未離開過該位置。 我已將超時更改為1000,而1沒有任何區別。

onSubmit是一個事件處理程序,您只將函數延遲了1毫秒,我的猜測是Chrome和FF忽略了此代碼,而IE卻因為IE愚蠢而失敗。

編輯哦,是的,IE不會像其他任何人一樣冒泡onSubmit,因為IE是愚蠢的。

此處的OP的EDIT2完整代碼: http//pastebin.com/t8vdK8B2

顯然, onSubmit是此代碼中函數的名稱,它也是事件處理程序。 由於函數不是多態的,因此應該覆蓋,但是由於它是事件處理程序,所以我不確定。

編輯3

好的,因此此onSubmit函數應該可以正常工作,而不必保留事件處理程序,但是我建議更改此函數名稱,您正在執行的操作是嘗試將變量傳遞給setTimeout的函數,您可以這樣執行:

setTimeout(onSubmit,1,id);

IE中的onSubmit事件不會冒泡,因此您需要將on Submit事件直接添加到表單中。 例如:

setTimeout(function(){document.getElementById("formToSubmit").onSubmit(upload_id); }, 1);

這是瀏覽器對Submit事件支持的詳細信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM