嗨,我有一个mootools脚本,适用于版本1.12,但我想更新到1.25,它会抛出一个错误。 这是脚本:
window.addEvent('load', function() {
Array.extend({
equalize: function(){
maxHeight = [];
this.each(function(el){
maxHeight.push(el.getSize().size.y);
});
this.setStyle('height', Math['max'].apply(Math, maxHeight));
}
});
$$('#col1,#col2,#col3,#col4,#col5').equalize();
$$('.column,.general').equalize();
});
非常简单,但我不知道我需要做什么来更新它为更新版本的mootools。 ie9中的错误如下:
错误消息:对象不支持属性或方法'equalize'
答案 0 :(得分:2)
您想使用implement
代替extend
。 Extend只添加一个静态方法,而实现改变了Class的原型。
话虽如此,您可能希望使用Elements
而不是Array
,因为equalize
对于无类型数组没有意义(元素可以被视为仅填充的数组元素项目)
tl; dr:您的代码应该是Elements.implement
而不是Array.extend
答案 1 :(得分:1)
在MooTools 1.2+中,size
方法没有getSize()
个对象,因此:el.getSize().size.y
变为el.getSize().y
。