FireGesturesのポップアップメニューを階層化する 2015-11-11 (Wed) 23:56


FireGestures.generatePopup(event, []);
var popup = document.getElementById("FireGesturesPopup");

としたとき、popup の tagNameは「menupopup」だったので、これに menu,menuitem,menuseparator など

xulでメニューを作るときと同じ要領で追加してみた。

いくらでも階層化できるけど、やり過ぎるとかえって使い辛くなるわな。(´・ω・`)y-~~~

例えばこんな感じ。
function createElement(tag, attribute, child){
var n = document.createElement(tag);
for(a in attribute){
n.setAttribute(a, attribute[a]);
}
if(tag == 'menu'){
n.appendChild(child ? child : document.createElement('menupopup'));
}
return n;
}

FireGestures.generatePopup(event, []);
var popup = document.getElementById("FireGesturesPopup");

var menu = createElement('menu', { label: 'サブメニュー1', style: 'color: blue;' });
menu.firstChild.appendChild(createElement('menuitem', {
label: "コマンドA", style: 'color: blue;',
oncommand : 'alert("コマンドA")',
}));

menu.firstChild.appendChild(createElement('menuitem', {
label: "コマンドB", style: 'color: blue;',
oncommand : 'alert("コマンドB")',
}));

var menu2 = createElement('menu', { label: 'サブメニュー2', style: 'color: red;'});
menu2.firstChild.appendChild(createElement('menuitem', {
label: "コマンドC", style: 'color: red;',
oncommand : 'alert("コマンドC")',
}));

menu2.firstChild.appendChild(createElement('menuitem', {
label: "コマンドD", style: 'color: red;',
oncommand : 'alert("コマンドD")',
}));
menu.firstChild.appendChild(menu2);

popup.appendChild(menu);

popup.appendChild(createElement('menuseparator', {}));
popup.appendChild(createElement('menuitem', {
label: 'コマンド1',
oncommand: 'alert("コマンド1")',
}));
関連記事

コメントの投稿

管理者にだけ表示を許可する

注意事項
基本的にこのブログはブログ主の備忘録です。

ブログの内容にはブログ主の主観や時には正確でない情報が含まれていることもあります。書いてある内容がすべての環境にあてはまることを保証するものでもありません。
また過去の記事の情報はそれが参照された時点では既に陳腐化していることもあります。

その辺をご理解の上で当ブログ内に書いてあることを試す場合は自己責任でお願いします。

万一何らかの損害が生じても責任は持てませんのであしからず!

記事内容の誤りの指摘、疑問点の回答などコメント頂けると助かります。
カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
ブログ内検索
カラーコードチェッカ
カラーコードの確認
入力例) #ffffff | blue
カテゴリ
最新記事
最新コメント
最新トラックバック
リンク
ブロとも申請フォーム

この人とブロともになる

メールフォーム

名前:
メール:
件名:
本文: