2016-10-05 1 views
0

javascriptイベントを使用して要素idを新しいmenuitemに渡したいとします。nw.js menuitemに要素IDを渡します。

<a id="element_1" class="drop-view-link" draggable="false" href="#" oncontextmenu="upShowMenu(event)" onclick="gui.Shell.openExternal(\''+d.url[i].href+'\')">http://stackoverflow.com/</a> 

function upShowMenu(e){ 
e.preventDefault(); 
menu.popup(e.x, e.y); 
//alert(e.target.id); 
return false; 
} 

menu.append(
new gui.MenuItem(
    { 
     label: 'Edit', 
     click: function(ev){ 
     //alert(ev.id); ??? 
     } 
    } 
) 
); 

可能でしょうか? もし私もどうすれば可能ですか?

ありがとうございました!

答えて

0

私があなたがうまくいけば、Editを選択した後、クリック(ターゲット)要素に関連することをしたいと思う。

コンテキストメニューをポップアップする前に、ターゲット要素にcontextMenu_elementのような変数を設定してください。

var contextMenu_element; 

function upShowMenu(e) { 
    e.preventDefault(); 
    contextMenu_element = e.target; 
    menu.popup(e.x, e.y); 
    return false; 
} 

次にメニュー項目のクリック機能では、この変数を使用することができます。ここでは

menu.append(new gui.MenuItem({ 
    label: 'Edit', 
    click: function() { 
     console.log(contextMenu_element.getAttribute('id')); 
    } 
})); 

我々はgetAttribute('id')を呼び出すことにより、要素のIDを取得します。変数が変更されるたびに、メニュー項目は現在選択されている要素に対する特定の操作を実行します。

menuのプロパティを変数として使用することもできます。 contextMenu_elementmenu.elementに交換してください。

関連する問題