簡體   English   中英

未捕獲的TypeError:在Magento中使用jQuery插件時,undefined不是一個函數

[英]Uncaught TypeError: undefined is not a function when using a jQuery plugin in Magento

我正在開發Magento擴展程序。 當您嘗試在Magento中使用jQuery時,Magento有一個已知的問題,因為Magento使用了Prototype庫。

解決方法是將您的jQuery代碼置於無沖突模式,例如...

jQuery.noConflict();

完成此操作后,它解決了我因JavaScript錯誤而遇到的90%的問題。 但是我現在仍然有3個主要的JavaScript問題,我相信它們是相關的...

Uncaught TypeError: undefined is not a function

http://www.codedevelopr.com/screenshots/2014/2014-08-23_16-14-37.png

當我查看報告這些錯誤的行號時,我看到了...

在此處輸入圖片說明

第1168行jQuery(".acc-wizard").accwizard({現在,此accwizard()是從jQuery插件文件加載的函數。我已經驗證了文件已加載,並且在jQuery和設置后加載jQuery的無沖突模式我不確定是否需要更改插件文件中的某些內容才能使用無沖突模式,或者為什么它說它是未定義的?

第1180行的simplecolorpicker()情況相同。

我已經上傳了保存accwizard() jQuery插件的文件,它的大小約為14kb,可以在這里找到http://www.codedevelopr.com/screenshots/2014/acc-wizard-bs-3.js在此處發布該代碼有點大。

誰能幫助我解決這些錯誤? 似乎我嘗試在上述未定義錯誤中使用結果的任何jQuery插件?


UPDATE

所以我一直在嘗試很多事情而沒有運氣...直到我嘗試在我的擴展程序使用的實際模板頁面中內聯加載我的所有JS文件時...一旦執行此操作,所有這些都不起作用這些錯誤。

盡管這令人沮喪,但因為我更喜歡為我的JS使用單獨的JS文件...而不是加載3個JS文件,我什至嘗試將所有3個文件放入1個文件並加載該1個文件,但是我仍然遇到JS錯誤...現在當我復制將所有3個文件合並在一起的1個文件並將其直接放入模板文件中時,...一切正常! 這對我來說毫無意義,請幫忙嗎?

您的答案中沒有足夠的上下文來查明原因,但是聽起來您的網絡瀏覽器正在執行代碼...

jQuery('foo').accwizard

下載並初始化定義accwizard方法的插件之前

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM