我試圖重寫clearTimeout功能,在除了IE以外的瀏覽器上運行完全正常(在IE8測試)爲什麼在IE8上b/w window.clearTimeout和clearTimeout有什麼不同?
clearTimeout = function(){};
IE8提供了以下錯誤:
Object doesn't support this action
但是,當我這樣做,
window.clearTimeout = function(){};
它可以很好的覆蓋clearTimeout。這是爲什麼?
此外,無處不在我的代碼我打電話clearTimeout而不是直接爲window.clearTimeout。所以,即使我重寫clearTimeout(通過第二種方式),本機clearTimeout被調用,而不是重寫的clearTimeout。什麼可以解決這個問題?
爲什麼你重寫默認行爲? –
我正在寫QUnit測試用例,其中我試圖跟蹤clearTimeout是否被調用,或者沒有使用特定參數。 – hariom
窗口對象是一個主機對象,clearTimeout是一個主機方法。他們不必遵守ECMA-262,並且可以做他們喜歡(幾乎)的事情。 – RobG