2012-01-16 9 views
0

私はmootoolsとjqueryの両方をページに持っていますが、mootoolsのプラグイン(formcheck)はページ上でjqueryが呼び出されたときには機能しません。 放火犯は、コンソールでこのエラーを与える:mootools formcheckプラグインとjqueryの競合

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'); 

私は問題が何であるかを理解していません。 私を助けてくれませんか?

答えて

3

私は前に同様の問題に直面し、私は、例えば、単語のjQuery

にjQueryのコードで$を置き換えることによって、それを修正:

$("div.menu").show(); 

は次のようになります。

jQuery("div.menu").show(); 
2

jQueryが問題の場合は、noConflict()という名前の組み込み機能を試してみてください。

(function($) { 

original $(...) code  

})(jQuery); 
1

ここでもMooToolsの観点からの回答です。このようなコードは、次にあなたがあなたの元$(...)をラップすることができます

jQuery.noConflict(); 

あなたはこのようにそれを呼び出すことができます。 jqueryのは持っていないとして、実際の要素が、それ自体で包まれた要素を返さない、それが失敗する原因のjQueryに

this.form = $(element); 

おそらく

さらにアップし、あなたのinitializeメソッドの内部のような、あなたのようなものを持っていますsetProperty方法。 mootoolsクラスの$()のすべての記述をdocument.idに置き換えるか、それを暗黙的に設定するクロージャーの中に入れます。

(function($) { 

// class with reliance on $ here 


})(document.id); 

MooToolsのは、バージョン1.2.2または1.2.3以降document.idのフォールバックを持っていた覚えていないことができます。実際には、そのバージョン以降、既に設定されている場合は$を再定義しませんし、document.idのみに依存して動作します。

クラスでsetPropertyを使用しているので、mootools 1.1xを使用している可能性があります。その場合、フォールバックは使用できず、jquery側でnoConflictに固執しています。

関連する問題