繁体   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