我有一種情況,我在頁面上的插件將被引用超過幾次。問題是將調用該插件的元素將被即時創建。然後刪除等等。jQuery插件實例並刪除/銷燬它們?
- 我有一個div結構,它創建了一些子元素。
i。我在這些孩子上添加插件實例。他們做了一些魔術等。
ii。用戶點擊一個按鈕,創建一組新的子元素 - 我創建插件實例。
現在 - 在上面的點「我」創建的人會發生什麼?我不使用「小部件」,所以我沒有銷燬方法。
所以,我可以只調用子元素,並通過它們循環,並銷燬數據元素等..阿拉。
$.each('[some_class_that_represents_all_elements]', function(a,b){
$(b).data('PLUGIN_NAME') = null; // or
delete $(b).data('PLUGIN_NAME'); // or
$(b).data('PLUGIN_NAME', null);
})
如果元素從DOM中刪除,插件實例是否也被刪除/清理?
因此,js是引用計數正確,假設沒有任何處理您的插件將收集。我會在chrome調試工具中使用profiler(配置文件選項卡),看看有什麼。 – mconlin
檢查插件API文檔,看它是否有'.destroy()'方法。例如,大多數jQuery UI小部件都是這樣做的。 – Barmar