« YouTubeのサムネイル画像 | メイン | FillInFormとRenderViewを一緒に使う »

prototype.jsとThickBox(jQuery)のコンフリクトを防ぐ方法

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も機能する、と思う。

トラックバック

このエントリーのトラックバックURL:
http://yusukebe.com/mt/mt-tb.cgi/2104

コメント (1)

kenn:

今やってみたんですが、正規表現で$を使ってるところが一カ所あるので、"$(" を "jQuery(" で全置換してから "$." を "jQuery." に置き換える、という手順がいいと思います。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


ブログSEO対策:track word seo