6

jQueryを使用して実装する個人の Web サイトにページを作成しようとしていますFacebook Connect

残念ながら、 はFacebook client APIを使用します$ token。つまり、呼び出す必要があります。jQuery.noConflict()

二重に残念なことに、Rick Strahl が指摘するように、jQuery UI は noConlict() を尊重しないというおかしな理由があることがわかりました。まったく。実際、ソースコードを見ると、あちこちに$s があります。

は本当にjQuery UI を使用できるようにしたいと思っています。具体的には、dialog()コンポーネントであり、draggable同様に非常に優れていますが、さらに、自分のコピーを手動で編集したり、テストしたり、維持したりする必要はありません。 jQuery UI の任意の部分の。

これは、私が剃らなければならなかった一連のヤクの最新のもので、私は頭が痛いです。助言がありますか?ヘルプ!

4

1 に答える 1

18

あなたが参照した投稿はかなり古く、時代遅れです。の1.0リリースでjQuery UIは、いくつかのファイルにこの問題があり、報告されるとすぐに修正されました。

すべての jQuery UI はclosure、jQuery を as として渡す にラップされている$ため、$ を内部的に使用できますが、$ は外部の何かに使用されます。

http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Referencing_Magic_-_Shortcuts_for_jQueryから

次の手法を使用すると、$ を永続的に上書きすることなく、コード ブロック内で $ を使用できます。

(function($) {
  /* some code that uses $ */
})(jQuery)

注: この手法を使用する場合でも、window.$たとえばwindow.$('some_element_id'). 参照するクロージャーの外部にある関数は$、たとえクロージャーの内部から呼び出されたとしても、Prototype を呼び出します。

$これが、jQuery UI ファイル内に表示される理由ですが、最新バージョンのjQuery UI (1.5+)は完全にサポートされていますのでご安心ください。jQuery.noConflict()

于 2008-12-25T04:28:10.840 に答える