4

Mootools 和 ExtJs 在同一页面上使用时存在兼容性问题。Mootools 抛出以下错误:

 Uncaught TypeError: Property 'id' of object #<HTMLDocument> is not a function

我们如何同时使用这两个框架?有解决方法吗?

4

1 回答 1

5

这看起来像一个document.id('..')参考问题,它已定义但它不是 mootools 方法......

如果它没有指向 mootools 方法,那么什么都不会起作用。

我认为 ExtJS 或您的应用程序已向id文档添加了一个属性,这不是一个函数,可能是一个字符串或其他原语。

很确定 ExtJS 不会被覆盖document.id,特别是考虑到他们 (Sencha) 聘请了 MooTools 核心团队开发人员@subtlegradient (thomas aylott),他们共同编写了 Slick 选择器引擎并帮助设计了document.idMooTools 从 1.11 中简单的 $ 的过渡

您可能无法document.id = $恢复它,因为它是通过引用并且已被覆盖。

唯一的机会是在加载并启动 ExtJS 后尝试加载 MooTools - 或加载 MooTools,document.$id = document.id;立即保存一个 ref,加载 ExtJS,然后在准备好时恢复它document.id = document.$id; delete document.$id- 仍然不能保证这将在正确的时间运行。你真的需要看看是什么document在 web 检查器中修改了你的对象(你可以添加一个观察者)

于 2013-10-07T14:44:25.187 回答