2012-02-17 3 views
0

私はメニューを作ろうとしていますが、何らかの理由でこのサンプルコードを実行することもできません! firbug上のエラーがある:Dojo DropDownMenu、クラスが見つかりません

Could not load class "dijit.DropDownMenu" 

他のすべての道場メニュー関連のクラスが働いている、私は何か他のものがレンダリングされていない場合は、コードの一部を除去することにより、以下を参照していることをテストしました。

<div data-dojo-type="dijit.MenuBar" id="actionMenu"> 
<div data-dojo-type="dijit.PopupMenuBarItem"> 
    <span>File</span> 
    <div data-dojo-type="dijit.DropDownMenu" id="fileMenu"> 
     <div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick:function(){alert('file 1');}">File #1</div> 
     <div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick:function(){alert('file 2');}">File #2</div> 
    </div> 
</div> 
<div data-dojo-type="dijit.PopupMenuBarItem"> 
    <span>Edit</span> 
    <div data-dojo-type="dijit.DropDownMenu" id="editMenu"> 
     <div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick:function(){alert('edit 1');}">Edit #1</div> 
     <div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick:function(){alert('edit 2');}">Edit #2</div> 
    </div> 
</div> 

誰が、なぜ指摘することはできますか?私は次のような要求文を使用しました。

dojo.require("dijit.MenuBar"); 
dojo.require("dijit.PopupMenuBarItem"); 
dojo.require("dijit.DropDownMenu"); 
dojo.require("dijit.MenuItem"); 
+0

を見つけることができませんなぜ私がしようとしていて、ファイルを探している

  • 図をチェックし、(404など)を要求されているが、うち誤るされた場合はい、 'dijit.DropDownMenu'も読み込めません。 'dijit.form.DropDownButton'に変更できますか? – OammieR

  • 答えて

    0

    あなたは道場で見つからなかったクラスを取得:

    1. がどのようなクラスが見つかりませんか?それを含むJSファイルが必要かどうかを確認してください。
    2. そうでない場合は、必要なものを追加してください。すでにご存知の方は、次の手順に従ってください。
    3. firebug net consoleを確認してください:ファイルが要求されていますか?
    4. もしそうでなければ、あなたの要求が実行中であることを確認してください。そうでない場合は修正してください。
    5. あなたのファイルは、ファイルに
    1

    あなたはライブラリ参照やバージョンの入手方法に関する情報を提供していません。だから私はそれが似たようなエラーを得る唯一の方法だったので、googleapiだと仮定します。

    実際には、googleapiのライブラリを参照している間は、それは動作しません。私は1.6を使い、1.2まで減らそうとしました。運がない。単純に、dojoライブラリへの参照にはDropDownMenu定義が含まれていません。

    解決策は、googleapisを使用しないことです。 ダウンロードページからDojoのソースコードバージョンをダウンロードし、そのビルドへの参照を使用します。それはバージョン1.7.2のために私のために働いた。または、Google以外のリンクを使用してください。

    <html> 
    <head> 
        <link rel="stylesheet" type="text/css" href="dojo172/dijit/themes/claro/claro.css" /> 
        <link rel="stylesheet" type="text/css" href="dojo172/dojo/resources/dojo.css" /> 
        <script type="text/javascript">djConfig = { parseOnLoad:true, isDebug:true };</script> 
        <script type="text/javascript" src="dojo172/dojo/dojo.js"></script> 
        <script> 
         dojo.require("dijit.DropDownMenu"); 
         dojo.require("dijit.MenuItem"); 
         dojo.require("dijit.MenuSeparator"); 
         dojo.require("dijit.PopupMenuItem"); 
         dojo.require("dijit.MenuBar"); 
    </script> 
    </head> 
    <body class="claro"> 
    
    <div data-dojo-type="dijit.DropDownMenu" id="navMenu"> 
        <div data-dojo-type="dijit.MenuItem" data-dojo-props="iconClass:'dijitEditorIcon dijitEditorIconCut', 
         onClick:function(){alert('drama!')}">Drama</div> 
        <div data-dojo-type="dijit.MenuItem" data-dojo-props="iconClass:'dijitEditorIcon dijitEditorIconCopy', 
         onClick:function(){alert('comedy!')}">Comedy</div> 
        <div data-dojo-type="dijit.MenuItem" data-dojo-props="iconClass:'dijitEditorIcon dijitEditorIconPaste', 
         onClick:function(){alert('romance!')}">Romance</div> 
        <div data-dojo-type="dijit.MenuSeparator"></div> 
        <div data-dojo-type="dijit.PopupMenuItem"> 
         <span>Action</span> 
         <div data-dojo-type="dijit.DropDownMenu" id="submenu2"> 
          <div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick:function(){alert('diehard!')}">Diehard</div> 
          <div data-dojo-type="dijit.MenuItem" onclick="alert('indiana!')">Indiana Jones</div> 
         </div> 
        </div> 
    </div> 
    
    
    </body> 
    </html> 
    
    関連する問題