株式会社ライブキャストロゴ 株式会社ライブキャスト

flashcastでは、WordPressのテンプレートにオリジナルのthemeを使用しているのですが、プラグインとjQueryのライブラリ併用時に、ある現象が発生していました。

現象

Bloggerを使用していた頃、ソースの表示にはsyntaxhighlighter – Project Hosting on Google Codeを利用していました。

WordPressに移行してからはWordPress › SyntaxHighlighter Evolved « WordPress Pluginsというプラグインを利用しています。

また、以下のような表示をしたいので、

thickbox

jQueryのライブラリのひとつである、ThickBox 3.1を使っています。

これらを併用しているときに、IE6、IE7で、thickboxのダイアログを閉じた後も背景が非表示にならない、という現象でした。ソース表示を本文に含んでいない記事の場合には、この現象が発生しないので、併用しているときにのみこの現象が発生することがわかりました。

対策

この問題を回避するために、thickbox.jsを一部(tb_remove関数の中)カスタマイズしました。

●変更前

	$("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});

●変更後

	$("#TB_window").fadeOut("fast",function()
		{
			$('#TB_window').trigger("unload").unbind().remove();
			$('#TB_overlay').trigger("unload").unbind().remove();
			$('#TB_HideSelect').trigger("unload").unbind().remove();
		}
	);

と、することで回避できました。

いろいろ試しているうちに偶然見つけたので、理由は分かりません。

ナゾです。

変更前と変更後では、関数の実行順が違うのでそのあたりに原因があるのではないかと思います。