2013-11-07 3 views
0

Я хочу выполнить некоторые действия, когда пользователь удаляет данные из текстового поля, используя «удалить» контекстного меню контекстного меню.Событие запускается после нажатия «удалить» контекстного меню контекстного меню текстового поля

  • Event.ONMOUSEDOWN мероприятие не работает.
  • Javascript doesen't обеспечивают событие для OnDelete

Любая помощь?

ответ

0

Вы не сможете поймать «удалить» в контекстном меню.

Обход 1

Вы можете использовать OnChange и делать то, что вам нужно сделать, когда значение текстового поля является «».

Или вы можете использовать ONKEYPRESS и либо обнаружить штрих «delete», либо проверить содержимое текстового поля на каждый ход клавиши.

Используйте UI-обработчики для этого.

@UiHandler("myTextBox") 
protected void onKeyPress(KeyPressEvent e) { 
    // do something... 
} 

Обход 2

Если вы хотите, чтобы поймать нужное событие щелчка сделать как таковой.

myTextBox.addClickHandler(new ClickHandler() {   
    @Override 
    public void onClick(ClickEvent event) { 
     if (event.getNativeEvent().getButton() == NativeEvent.BUTTON_RIGHT) { 
     // code... 
     }    
    } 
}); 

Или, опять же, использовать UIHandlers.

Обход 3

Если вы все еще недовольны, и по-прежнему хотят, чтобы поймать «удалить» нажмите в контекстном меню у вас есть только один вариант слева. Вы должны написать свое собственное контекстное меню. Используйте event.preventDefault() правой кнопкой мыши и покажите вам собственный «виджет контекстного меню». Вы можете написать contextMenuHandler, как описано здесь: https://confluence.clazzes.org/pages/viewpage.action?pageId=425996

+0

Когда мы нажимаем мышь правой кнопкой мыши на текстовое поле, появляется меню contex. И я хочу, чтобы событие отображалось на отображаемом элементе. – zuber28

+0

Хорошо, понял. Я отредактировал свой ответ. – otonglet

+0

Да. Создание моего собственного виджета контекстного меню - единственный вариант. Потому что, когда пользователь щелкает правой кнопкой мыши, я не могу предположить, что он будет выбирать только удаление. В любом случае, спасибо. – zuber28

Смежные вопросы