jQuery插件实例并删除/销毁它们?

时间:2013-10-17 00:57:00

标签: javascript jquery

我有一种情况,我在页面上的插件将被引用多次。问题是将调用插件的元素将在运行中创建。然后删除等...例如。

  1. 我有一个div结构,它会创建一些子元素。
  2. 我。我在这些孩子上添加了插件实例。他们做了一些魔术......

    II。用户单击一个按钮,创建一组新的子元素 - 我创建了插件实例。

    现在 - 在上面的“i”点创建的内容会发生什么?我没有使用“小部件”所以我没有破坏方法。

    所以,我可以只调用子元素,然后循环遍历它们并销毁数据元素等.ala。

    $.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中删除元素,是否也会删除/清除插件实例?

1 个答案:

答案 0 :(得分:1)

默认情况下,当您调用$(el).remove()方法时,jQuery将使用$(el).data()清理您存储的所有数据。

如果您使用$(el).detach(),则会保留数据。

http://api.jquery.com/jQuery.data/

  

jQuery确保在删除DOM元素时删除数据   通过jQuery方法,以及当用户离开页面时。