Я создаю веб-приложение AJAX с GWT, и я хочу использовать щелчок правой кнопкой мыши для разных вещей, как в настольном приложении. Тем не менее, щелчок правой кнопкой мыши создает стандартное контекстное меню в Интернете, и void onClick (событие ClickEvent) никогда не вызывается. Кто-нибудь понял, как заставить это работать? благодаря!RIght-Click в GWT?
ответ
Оказалось, что это может быть сделано путем расширения DeckPanel
. Вот отличная дискуссия, а также хорошая демонстрация, доказывающая, что она работает.
http://whatwouldnickdo.com/wordpress/370/gwt-right-click-context-menu/
- это эффективные и сложные программные приложения с большим количеством объектов, отображаемых на экране, поскольку вы не используете основной механизм событий внутри gwt. –
Хотя есть способы сделать это, я считаю, что команда GWT были дебаты по этому поводу и решили, что позволяет щелкнуть правой кнопкой мыши в веб-приложение было плохо и так сделал экономного решение не поддерживать его. Аргумент состоял в том, что правый щелчок должен продолжать работать, как ожидалось (вызвать контекстное меню контекстного меню хоста браузера), и переопределение этого было нарушением ожидаемого поведения, и это было бы плохой практикой. Хотя у меня были случаи, когда контекстное меню правой кнопки мыши было полезным, я обычно соглашаюсь с решением команды GWT.
Я не мог больше не согласиться. Я предполагаю, что большинство разработчиков GWT используют GWT в попытке улучшить эмуляцию рабочего стола. И это включает контекстные (правые) клики. Есть много корпоративных приложений, где имеет смысл использовать правые клики. –
Я знаю, что вы имеете в виду, я очень разочаровался в том, что сначала щелкнул правой кнопкой мыши, но после прочтения аргумента команды GWT я медленно подошел. –
@ Daniel Vaughan: Интересный момент. Я бы проголосовал за это, если бы вы добавили ссылку на обсуждаемую вами дискуссию GWT. –
easy peasy, добавьте слушателя в контекстменюандлер, который отобразит виджет, основанный на том, где пользователь щелкает правой кнопкой мыши. https://confluence.clazzes.org/pages/viewpage.action?pageId=425996
class MyWidget extends Composite implements ContextMenuHandler {
// just an example, use a meaningful Widget here...
private Widget base;
private PopupPanel contextMenu;
public MyWidget() {
// initialize base widget, etc...
this.contextMenu = new PopupPanel(true);
this.contextMenu.add(new HTML("My Context menu!"));
this.contextMenu.hide();
initWidget(this.base);
// of course it would be better if base would implement HasContextMenuHandlers, but the effect is the same
addDomHandler(this, ContextMenuEvent.getType());
}
public void onContextMenu(ContextMenuEvent event) {
// stop the browser from opening the context menu
event.preventDefault();
event.stopPropagation();
this.contextMenu.setPopupPosition(event.getNativeEvent().getClientX(), event.getNativeEvent().getClientY());
this.contextMenu.show();
}
}
наконец вы хотите, чтобы отключить меню браузеров для полной загруженности этого типа контекстного меню. Это должно работать во всех браузерах, кроме оперы. но если честно, кто использует эти дни Neways^_______^
<body oncontextmenu="return false;">
Вы получаете upvote для
. Эта часть меня заводила! – JamieЭто волшебство! Вы не представляете, сколько лет мне понадобилось, чтобы понять, что кто-то вернулся, пока не появились фантастические рамки JS! –
- 1. Меню RightClick в ListView UWP
- 2. Selectrow на rightclick в JQgrid
- 3. Qt rightclick QPushButton
- 4. SlickGrid Событие RightClick
- 5. jQuery RightClick Handler Plugin
- 6. rightclick panel не работает
- 7. bootstrap modal предотвратить rightclick
- 8. RightClick CellTable Header
- 9. Создание меню RightClick для проводника
- 10. WPF RightClick MouseBinding на выпуск?
- 11. Mouse RightClick на Openlayer 3
- 12. jquery rightclick contextmenu on applet
- 13. меню RightClick в VB.Net Custom Control
- 14. Как добавить элементы в оболочку Windows (rightclick)?
- 15. Jquery - Добавить запись в RightClick Контекстное
- 16. Изменение ListView rightclick для проверки вместо этого
- 17. HTML onClick не срабатывает на rightclick
- 18. Не меняйте значение CheckColumn на rightclick
- 19. Как захватить событие rightclick для FusionTablesLayer?
- 20. Как выделить строку таблицы с помощью rightclick
- 21. Как JQuery добавить класс Div на RightClick
- 22. Отключить контекстное меню и меню rightclick
- 23. Что такое keycode для клавиатуры rightclick?
- 24. Слушайте rightclick на элементе svg с Raphael.js
- 25. ContextMenuStrip В RightClick, если элементы выбраны в списке?
- 26. Gwt, Как закодировать Right-ClickHandler для метки?
- 27. показать JPopupMenu, когда RightClick на JTextArea в Java?
- 28. Запретить контекстное меню по умолчанию в кинетическом JS-шаге rightclick?
- 29. C# Добавить приложение для отправки, когда i RightClick в файле
- 30. Выберите только одну ячейку в datagridview, когда rightclick
если это любая помощь, не мешая меню правой кнопки мыши в браузере по умолчанию, вы можете поймать правую кнопку мыши, используя MouseDownHandler вместо ClickHandler. – pistolPanties