내 gwt 1.6 응용 프로그램이 하이퍼 링크에서 마우스 클릭을 가로 채기 때문에 사용자가 "작성자"에 대한 링크를 Shift- 클릭하면 작성자에게 이동하는 대신 편집 ... 대화 상자가 표시됩니다 페이지. 그것은 잘 작동하고 있습니다.제어 - 클릭 컨텍스트 메뉴, gwt 억제 1.6
이제 사용자가 둘 이상의 작성자를 선택하기 위해 Ctrl 키를 누른 상태에서 클릭 할 수있게하고 싶지만 브라우저의 기본 팝업 메뉴를 표시하지 않는 방법을 알아낼 수 없습니다. 이 코드는 제대로 시프트 클릭을 처리하지만, 내가 클릭 제어 및 파이어 폭스에서 반 실패 (호출되는 handleCtrlClick(),하지만 난 여전히 브라우저 메뉴를 얻을) 때 호스트 브라우저에서 실패
public void onModuleLoad() {
Event.addNativePreviewHandler(this);
}
//
// Preview events-- look for shift-clicks on paper/author links, and pops up
// edit dialog boxes.
// And looks for control-click to do multiple selection.
//
public void onPreviewNativeEvent(Event.NativePreviewEvent pe) {
NativeEvent e = pe.getNativeEvent();
switch (Event.getTypeInt(e.getType())) {
case Event.ONCLICK:
if (e.getShiftKey()) { handleShiftClick(e); }
if (e.getCtrlKey()) { handleCtrlClick(e); }
break;
case Event.ONCONTEXTMENU:
if (e.getCtrlKey()) { // THIS IS NOT WORKING...
e.preventDefault();
e.stopPropagation();
}
break;
}
}
중단 점을 ONCONTEXTMENU 대/소문자는 절대 호출되지 않습니다.
원하는 동작 : 컨트롤 - 왼쪽 클릭 : 다중 선택 마우스 오른쪽 버튼으로 클릭 : 브라우저의 메뉴가 팝업됩니다. 문제는 Firefox (적어도)는 컨트롤 왼쪽 클릭을 마우스 오른쪽 버튼 클릭과 같은 것으로 취급한다는 것입니다 (oncontextmenu 이벤트가 발생 함). – gavinandresen