2016-11-10 8 views
3

私は電子を学び、単純なアプリケーションを構築しようとしています。 HTML部分には、いくつかの行を持つテーブルがあります。
"electron-context-menu" NPMパッケージを使用してコンテキストメニューを作成しました。今すぐテーブルの行を右クリックすると、削除行のようなメニューがポップアップします。
例えば、私は以下のような行があります:私は右のこの行をクリックするとテーブル行を右クリックしたときに電子コンテキストメニューを表示するには

<tr> 
 
    <td id="name-1"></td> 
 
    <td id="prog-1"><progress id='progress-1' max='100' value='0'> </progress></td> 
 
    <td id="size-1"></td> 
 
    <td id="status-1"></td> 
 
    <td style="display:none;" id="path-1"></td> 
 
    <td style="display:none;" id="link-1"></td> 
 
    <td style="display:none;" id="formatid-1"></td> 
 
</tr>

を今、そして唯一の行の削除メニューが表示され、そのメニューのクリック時にする必要があり、Iその行を削除する関数deleteRow(this)を呼び出したいとします。

here is JSFiddle

すべてのヘルプ:
動的に行を追加および削除するために、私はからのコードを使用していますか?また、どのように行の要素のidを取得できますか?

私は自分自身に答えるが見つかりました:

const menu = new Menu(); 
menu.append(new MenuItem({ 
    label: 'Resume', click(){ 
    console.log('resume clicked'); 
    } 
})); 
menu.append(new MenuItem({type: 'separator'})); 
menu.append(new MenuItem({ 
    label: 'Pause', click(){ 
    console.log('item 2 clicked'); 
    } 
})); 

そして、私は動的な行を追加してい:

new_row.addEventListener('contextmenu', function(e){ 
     var t = e.srcElement.id.split('-'); 
     id = t[1]; 
     menu.popup(remote.getCurrentWindow()); 
    }); 

答えて

0

は、コールバックの後falseパラメータを追加します。

new_row.addEventListener('contextmenu', function(e){ 
    var t = e.srcElement.id.split('-'); 
    id = t[1]; 
    menu.popup(remote.getCurrentWindow()); 
}, false); 
関連する問題