对不起,我是法语:) 我创建了名为“Slider”的Mootools类。 该类有一个“slider_element”属性,它是一个DIV元素。 该课程还有一个“驱逐舰”的方法。这个方法破坏了DIV元素。了解Mootools的课
slider_element应该是一个包含另一个带有“删除”CSS类名的DIV的div。当我点击“删除DIV”时,我想调用“毁灭者”方法,以便DIV消失。
这是我的代码如下,它的工作原理和我想要的一样。 我的问题是:当我销毁DIV元素时,我不需要更多我的Slider实例(这里是“mySlider”)。但是我的代码破坏了DIV元素,而不是滑块实例。这个实例是否仍然存在?我想是的。所以我搜索了如何用Mootools摧毁一个类的实例,但没有找到...所以我认为我做错了一些事情,即使我的代码做了我想要的图形。请帮助:)
var Slider = new Class({
initialize: function(slider_element){
this.slider_element = slider_element;
this.slider_element.getElements('*[class="remove"]').addEvent('click', this.destroyer.bind(this));
},
destroyer: function(){
this.slider_element.destroy();
}
});
var myElement = $('my_slider');
var mySlider = new Slider(myElement);
(在现实中,这是一个简单的代码,所以我不跟我的整个代码打扰你)
如果你不通过实例控制你的滑块,比如'mySlider.method()'我会说,不要把它作为var保存。只是'new Slider(document.id(“my_slider”));'但实例将继续存在,即使它的DOM功能已被删除。 'this.slider_element.getElements(“。remove”)'更好,但this.slider_element.addEvent(“click:relay(.remove)”,this.destroyer.bind(this))'将使用更少的内存和更小的占地面积(通过元素委托)。 – 2011-03-27 19:38:20