5
我在使用Prototype編寫的網站上工作,但我們正在將它分階段化爲jQuery。很多頁面更新都是通過Prototype的Ajax.Updater完成的。但是,有時Prototype移除和替換的元素有一個jQuery小部件運行在它們上面,所以$ .cache引用了小部件創建的其他元素。由於jQuery沒有去除DOM,所以當它們被刪除時,它沒有機會清除$ .cache中的數據,最終導致內存泄漏。有沒有辦法告訴jQuery檢查它是$ .cache並放棄不再在DOM中的元素的任何數據?在元素上使用jQuery .data(),然後通過直接DOM操作刪除元素泄漏內存
既然我們已經運行原型的定製版本,首先,我剛剛更新了原型Object.remove和Object.update功能使用jQuery刪除元素,如果jQuery的存在,從而保證數據的清理。我不想編寫jQuery更新程序,因爲Prototype的Ajax.Updater被用於遍及我們的代碼中太多的地方以在合理的時間內完全替換和測試。 – 2011-01-17 14:33:51