2016-11-10 1 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); 
관련 문제