您正在使用 mootools 1.2.1 - 3 岁以上。有两个问题会影响它。
引入的 firefox 18.0.1String.prototype.contains
在实现上与 mootools 附带的版本不同。在 1.3 版之前,该方法未被“保护”并被 mootools 重写,因此更改会破坏选择器引擎。
由于与实现有关的更改,1.2.1 可能与 IE9 不兼容bind
。这在 1.2.4(或 5)中已修复,它还与旧 mootools 中使用的某些浏览器嗅探方法有关。请参阅 1.2.5 的发行说明 - http://mootools.net/blog/2010/09/15/mootools-core-1-2-5/ - 这些可能不会影响每个站点/用例,但是当它们这样做时,您需要升级。
总的来说,您需要升级 - 我建议 1.4.5 与 mootools 网站的兼容性。
这个选项卡类写错了:
TabControl = new Class();
// ..
TabControl.prototype = {
// stuff
}
这完全绕过了 mootools 类构造函数,该函数在设置原型以继承和取消引用构造函数对象方面做了很多工作。
改写为
var tabControl = new Class({
// 'methods' and properties...
});