私はDojo 1.5を使用していますが、関数を呼び出すことができるコンテキストメニューを作成しようとしていますmyFunctionイベントと他の引数を渡します。これまでのところ、私は次のコードを持っています:グリッドのコンテキストメニュー項目ハンドラでイベントやその他の引数を渡すにはどうすればいいですか?
<div dojoType="dijit.Menu" id="bankerMenu" style="display: none;">
<div dojoType="dijit.MenuItem" onclick="copyDocuments('bankerFolder');" iconClass="dijitEditorIcon dijitEditorIconCopy">Copy to Client</div>
<div dojoType="dijit.PopupMenuItem" onclick="doNothing()" iconClass="dijitEditorIcon dijitEditorIconCopy">
<span><s:text name="CopyTo.label"/></span>
<div dojoType="dijit.Menu" id="bigsubmenu">
var="distributionList">
<div dojoType="dijit.MenuItem" onclick="myFunction(event,'bankerFolder',1)"><s:property value='distributionListName'/></div>
</div>
</div>
</div>
しかし、私は関数に渡したい「イベント」を認識していません。
<div dojoType="dijit.MenuItem" label="Some menu item 2">
<script type="dojo/method" event="onClick" args="evt">
myFunction(evt,'bankerFolder',1);
</script>
</div>
しかし、私はそれを簡略化して最初の構文を使いたいと思います。どうやってやるの?
ありがとうございます!しかし、私はちょうど私の問題が異なっていることに気づいた。私はdojox.grid.EnhancedGridを持っていて、私はdijit.Menuを作成しました。私が本当に望むのは、ユーザーが右クリックしてMenuItemを選択したときに選択された行を知ることです。私が受け取るイベントはrowIndexを持っていませんが、それはGridによってではなく、MenuItemによって起動されるためです。そのような場合、どうすればrowIndexを取得できますか?ありがとう! –
これを解決するには、最初に 'onCellContextMenu'(または' * ContextMenu'イベントが適切なもの)を接続し、必要な情報をその関数に渡されたイベントオブジェクトから取得し、どこかに格納することが考えられますグリッドインスタンス内、または共通の名前空間内)に移動し、メニューイベントコールバックでそれを取得してクリアします。うん、それは長い道のりですが、うまくいくはずです。 –