我在页面上都有mootools和jquery。但是当在页面上调用jquery时,mootools插件(formcheck)不起作用。 firebug在控制台中出现此错误:
this.form.getProperty is not a function at line 314 of formcheck.js
以下是该行的代码:
this.form.setProperty('action',
this.options.submitAction || this.form.getProperty('action') || 'post');
我不明白问题是什么。 你能帮助我吗?
答案 0 :(得分:3)
之前我遇到过类似的问题,我通过将jQuery代码中的$替换为单词jQuery来修复它
例如:
$("div.menu").show();
将是:
jQuery("div.menu").show();
答案 1 :(得分:2)
如果问题是jQuery,请尝试使用名为 noConflict()的内置功能。</ p>
您可以这样称呼它:
jQuery.noConflict();
然后你可以像这样包装原始的$(...)代码:
(function($) {
original $(...) code
})(jQuery);
答案 2 :(得分:1)
这也是mootools观点的答案。
可能会更进一步,比如在你的初始化方法中,你有类似的东西:
this.form = $(element);
由于jquery没有返回实际元素而是返回一个包装元素,因为jquery没有setProperty
方法,所以它会失败。用document.id替换mootools类中$()的所有提及,或者将它放在一个隐式设置它的闭包中。
(function($) {
// class with reliance on $ here
})(document.id);
自从版本1.2.2或1.2.3以来,mootools已经有了一个document.id后备,不记得了。实际上,从该版本开始,如果已经设置,它将不会重新定义$,并且只依赖于document.id来工作。
因为你在课堂上使用了setProperty,所以我认为你可能正在使用mootools 1.1x - 在这种情况下,没有后备可用,你在jquery方面遇到了noConflict
。 / p>