2013-10-07 30 views
4

在同一頁面上使用Mootools和ExtJs時存在兼容性問題。 Mootools會拋出以下錯誤:Mootools和ExtJs 4.x似乎不兼容,如何解決?

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

我們該如何使用這兩種框架?有沒有解決方法?

+0

不錯,你得到它的工作! +1出現異常問題 – Sergio

+0

在同一頁面上使用兩者的原因是什麼?看起來像一個矯枉過正的,不是? – dbrin

+0

@dbrin我嘗試升級使用舊版框架(jxlib,基於mootools)編寫的應用程序並逐步完成。這涉及重寫所有的JavaScript,我希望能夠保留應用程序的一部分。 –

回答

5

這看起來像一個document.id('..')參考的問題,它的定義,但它不是MooTools的方法......如果它沒有指出MooTools的方法

任何方法都行不通。

我會爭辯說,ExtJS或您的應用程序已添加屬性id文檔,這不是一個函數,因爲它可能是一個字符串或其他原語。

相當肯定,ExtJS的就不會被覆蓋document.id,特別是考慮到他們(煎茶)採用MooTools的核心團隊開發@subtlegradient(托馬斯aylott)誰合寫的油滑選擇器引擎,幫助工程師在MooTools的的document.id過渡簡單$ in 1.11

你可能不能做document.id = $來恢復它,因爲它是通過引用,它被覆蓋。

唯一的機會就是試裝MooTools的ExtJS的加載和啓動後 - 或負載MooTools的,之後立即保存像document.$id = document.id;一個裁判,加載ExtJS的,然後將其恢復回來通過document.id = document.$id; delete document.$id當準備 - 仍然沒有保證,這將在運行合適的時間。你真的需要看看什麼修改你的document對象在web檢查器(你可以添加一個觀察器)

相關問題