$(function () {...})前提条件のプラグインスクリプトが読み込まれる前にハンドラーが起動されているように見えるため、JSエラーが発生します。IEでのみ発生します(IE7でのテスト)。
私の中には<head>次のようなHTMLがあります。
<script type="text/javascript" src="../resources/org.wicketstuff.jwicket.JQuery/jquery-1.4.2-special.js"></script>
...
<script type="text/javascript" id="noConflict"><!--/*--><![CDATA[/*><!--*/
jQuery.noConflict();
/*-->]]>*/</script>
...
<script type="text/javascript" src="../resources/com.csc.aims.wicket.components.collapsiblefieldset.CollapsibleFieldsetBehavior/jquery.collapsiblefieldset.js"></script>
<link rel="stylesheet" type="text/css" href="../resources/com.csc.aims.wicket.components.collapsiblefieldset.CollapsibleFieldsetBehavior/jquery.collapsiblefieldset.css" />
<script type="text/javascript">
jQuery(function(){
jQuery('#collapse119').collapse({"iconClosedUrl":"../resources/img/white_plus","iconOpenUrl":"../resources/img/white_minus"});
});
</script>
したがって、HTMLコードによると、シーケンスは次のようになっていることに注意してください。
- jquery-1.4.2-special.js
- jQuery.noConflict()呼び出し
- jquery.collapsiblefieldset.js //$.fn.collapseを定義します
- jQuery('#collapse119')。collapse(...)が呼び出されます
このコードがFFで実行されると、すべてが正常に機能します。IE7(または互換性のあるビューを備えたIE8:IE7標準モード)でテストすると、javascriptエラーが発生します。デバッガーは、jQuery.fn.collapseが未定義であることを示しています。
IE8開発ツールを使用して、jquery.collapsiblefieldset.jsを調べてみます。リストにスクリプトが表示されますが、スクリプトがロードされていないため、ブレークポイントを設定できないとツールから通知されます。
$()readyハンドラーを実行する前にcollapsiblefieldset.jsが読み込まれないのはなぜですか?任意の洞察をいただければ幸いです!ありがとう。