Javascript 有没有办法删除scriptaculous自动完成对象?

Javascript 有没有办法删除scriptaculous自动完成对象?,javascript,autocomplete,prototypejs,scriptaculous,Javascript,Autocomplete,Prototypejs,Scriptaculous,我使用scriptaculous autocomplete创建了一个包含可编辑字段的大页面,字段的数量是动态的,因此我创建了一个数组来保存所有的autocomplete对象。 然后,我需要允许用户在页面的每个位置添加一个字段,因此,我创建了一个javascript函数来重做文本字段的序列,并重新创建所有自动完成功能。 但是有一个问题,旧的自动完成也会出现在页面上,即使a将数组的长度设置为零,旧的自动完成也会被删除。 有没有办法完全删除原型对象 要删除DOM引用,需要 bigAutoComplet



我使用scriptaculous autocomplete创建了一个包含可编辑字段的大页面,字段的数量是动态的,因此我创建了一个数组来保存所有的autocomplete对象。

然后,我需要允许用户在页面的每个位置添加一个字段,因此,我创建了一个javascript函数来重做文本字段的序列,并重新创建所有自动完成功能。

但是有一个问题,旧的自动完成也会出现在页面上,即使a将数组的长度设置为零,旧的自动完成也会被删除。


有没有办法完全删除原型对象

要删除DOM引用,需要

bigAutoCompleteObject = null;

要删除DOM引用,需要

bigAutoCompleteObject = null;
  • autocompleter保存对输入字段和更新程序的引用(带有可能选项的弹出元素)
  • 输入字段和更新程序保留对事件观察者的引用(自动完成器对象中的方法)
您需要至少清除存储在autocompleter对象中的引用:

autocompleter.element = null;
autocompleter.update = null;
  • autocompleter保存对输入字段和更新程序的引用(带有可能选项的弹出元素)
  • 输入字段和更新程序保留对事件观察者的引用(自动完成器对象中的方法)
您需要至少清除存储在autocompleter对象中的引用:

autocompleter.element = null;
autocompleter.update = null;

谢谢,但这并没有解决我的问题,因为虽然它存储在数组中,但当我清空数组时,它不会从内存中删除。我使用了它,但对象仍然在内存中。Alax;我很钦佩您为帮助我所做的努力,但即使我完全删除了数组,自动完成对象仍保留在内存中(我的证据是,当我单击列表中的一个项目时,文本框会被相同的值填充两次)。我需要一些垃圾收集器方法来清理所有全局自动完成的对象。我找到了一种方法来解决我的问题,而不必删除数组的值,谢谢。我接受了你的回答。谢谢,但这并没有解决我的问题,因为虽然它存储在数组中,但当我清空数组时,它不会从内存中删除。我使用了它,但对象仍在内存中。Alax;我很钦佩您为帮助我所做的努力,但即使我完全删除了数组,自动完成对象仍保留在内存中(我的证据是,当我单击列表中的一个项目时,文本框会被相同的值填充两次)。我需要一些垃圾收集器方法来清理所有全局自动完成的对象。我找到了一种方法来解决我的问题,而不必删除数组的值,谢谢。我接受了你的回答。