Как я могу переопределить сочетания клавиш браузера в моем приложении GWT / GXT? - PullRequest
2 голосов
/ 28 июля 2010

Я использую GWT и GXT и хочу использовать сочетания клавиш, такие как CTRL-S (или CTRL-SHIFT-S), чтобы сохранить текущую форму. Проблема в том, что я не могу понять, как переопределить встроенные в браузеры CTRL-S. Я попытался использовать componentEvent и вызвать stopevent, cancelbubble и т. Д., Но безуспешно. Я также пытался использовать

Event.addNativePreviewHandler(new Event.NativePreviewHandler(){  
}

и вызов event.getNativeEvent().preventDefault();, чтобы попытаться остановить событие, но это тоже не работает.

Я нахожусь в точке, где я могу заставить свои сочетания клавиш работать, но они также запускают событие браузера также (как открывает диалог сохранения браузера)

У кого-нибудь есть идея / подсказка о том, как заставить это работать? На самом деле у меня есть несколько ярлыков, которые я хочу использовать, но многие конфликтуют с браузером - просто пытаюсь понять, как переопределить действия браузера.

Ответы [ 3 ]

2 голосов
/ 28 сентября 2011

Лучше найти комбинации клавиш, чем пытаться переопределить сочетания клавиш, что не является стандартным подходом.

1 голос
/ 09 февраля 2011

Вызовите метод preventDefault() для KeyDownEvent. Это работает, когда я добавил Dom Handler, а также ссылки на форумах javascript о том, как это делает gmail - я заметил, что хотя CTRL-S работает, CTRL-N не работает в Chrome. Позже я буду тестировать другие браузеры.

Надеюсь, это поможет,

Ян.

0 голосов
/ 29 июля 2010

Чтобы ответить на мой собственный вопрос - мы решили использовать сочетания клавиш CTRL + ALT, которые не конфликтуют ни с какими встроенными сочетаниями клавиш браузера.

...