DOM エレメントのコンテキストメニューの作成

Adobe AIR 1.0 およびそれ以降

MenuBuilder フレームワークを使用して DOM エレメントのコンテキストメニューを作成するには、2 つの手順を使用します。まず、 Menu.createFromXML() メソッドまたは Menu.createFromJSON() メソッドを使用してメニュー構造を定義する NativeMenu インスタンスを作成します。次に、 Menu.setAsContextMenu() メソッドを呼び出して、そのメニューを DOM エレメントのコンテキストメニューとして割り当てます。コンテキストメニューは単一メニューで構成されるので、メニューデータ構造の最上位のメニューアイテムが単一メニュー内のアイテムになります。子のメニューアイテムを含むメニューアイテムはサブメニューになります。NativeMenu を DOM エレメントのコンテキストメニューとして割り当てるには、 Menu.setAsContextMenu() メソッドを呼び出します。このメソッドでは、コンテキストメニューとして設定する NativeMenu とそれを割り当てる DOM エレメントの id(ストリング)を 2 つのパラメーターとして使用します。

var treeContextMenu = air.ui.Menu.createFromXML("treeContextMenu.xml"); 
air.ui.Menu.setAsContextMenu(treeContextMenu, "navTree");

DOM エレメントのパラメーターを省略すると、呼び出し元の HTML ドキュメントがデフォルト値として使用されます。つまり、メニューは HTML ドキュメントのウィンドウ全体のコンテキストメニューとして設定されます。HTML ウィンドウ全体からデフォルトのコンテキストメニューを簡単に削除するには、次の例に示すように、最初のパラメーターに null を渡します。

air.ui.Menu.setAsContextMenu(null);

DOM エレメントから割り当てたコンテキストメニューを削除することもできます。 setAsContextMenu() メソッドを呼び出して null とエレメント id を、2 つの引数として渡します。