prototype.jsとjQueryのThickBoxをデフォルトのまま一緒に使おうとするとコンフリクトを起こしてうまく機能しない(参照: prototype.jsとThickBox(jQuery)がコンフリクト|blog|たたみラボ)。 が、jQueryの$-functionをOverride(参照: Using jQuery with Other Libraries - jQuery JavaScript Library)して多少細工をすれば共存できる。
まず、htmlのscriptタグなどにjQuery.noConflict();を記述。
<script type="text/javascript"> jQuery.noConflict(); </script>
その後thickbox.jsのファイルを開いて、全ての「$」を「jQuery」に置換する。そうすれば、衝突なしにprototype.jsの$ファンクションも使えて、ThickBoxも機能する、と思う。


コメント (1)
今やってみたんですが、正規表現で$を使ってるところが一カ所あるので、"$(" を "jQuery(" で全置換してから "$." を "jQuery." に置き換える、という手順がいいと思います。
投稿者: kenn | 2007年08月16日 10:45
日時: 2007年08月16日 10:45