jquery.jsとprototype.jsの干渉について
実はThickBox3を導入してからAjaxカレンダーが表示されなくなってました。
で、いろいろと調べたところThickBox3で使っているjquery.jsとAjaxカレンダーで使っているprototype.jsが干渉している様子。
あまり詳しいことはわかりませんが、jquery.jsとprototype.js共に$()という書式を持っていてそれぞれの戻り値が異なるためおきているようです。
以下はその対策です。
1.ヘッダー部分を下記のように変更(赤字部分を追加)
<head>
<script type="text/javascript" src="<$MTBlogURL$>prototype.js"></script>
<script type="text/javascript" src="<$MTBlogURL$>jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();
</script>
</head>
2.thickbox.jsを開き $() function を jQuery() function に置換
具体的にはテキストエディタの一括置換で$(をjQuery(に置き換えました。
3.修正したthickbox.jsをアップロード
以上でThickBox・Ajaxカレンダー共に機能するようになりました。
参考にしたサイト
ウノウラボ
夜の Discovery









コメントする