jQuery を DokuWiki とうまく連携させるのに苦労しています - 誰かがこれを成功させたことがありますか?
現時点では、あらゆる種類の JS 機能の破損に jQuery が含まれており、問題の原因を突き止めるのに苦労しています。jQuery と競合しがちな、注意すべき点は何ですか?
jQuery を DokuWiki とうまく連携させるのに苦労しています - 誰かがこれを成功させたことがありますか?
現時点では、あらゆる種類の JS 機能の破損に jQuery が含まれており、問題の原因を突き止めるのに苦労しています。jQuery と競合しがちな、注意すべき点は何ですか?
私は個人的にDokuWikiに精通していませんが、jQueryを含めたときに何かが壊れている場合は、jQueryの「$」変数と競合している可能性があります。jQueryのnoConflictメソッドを使用して、これを回避できます。詳細については、こちらをご覧ください。 http://docs.jquery.com/Using_jQuery_with_Other_Libraries
このStackOverflowの投稿も参照してください: jQueryとプロトタイプの競合
通常、ロードした直後に次を使用することで、jQueryの競合を回避できますjquery.js
。
jQuery.noConflict();
そうすれば、変数が上書きされることはありません$
。これは、これらのJSライブラリの競合の問題の原因となることがほとんどです。ただし、を使用してjQuery関数を呼び出す必要がありjQuery
ます。例:
jQuery(function() { ... }); // $(function ...
jQuery(".klass").hide(); // $(".klass" ...
JQuery を DokuWiki に追加するプラグインもあります: http://www.dokuwiki.org/plugin:jquery
jQuery.noConflict();
次に、jQuery("your element selector")
の代わりにまたは何でも使用できます$
。コードでnicer を使用するには、$
次のように関数をラップします。
jQuery.noConflict()
(function($) {
$("your element selector").whatever();
})(jQuery)
クロージャで jquery 関数をラップする利点は何ですか?の回答で説明されているその他の利点