单击文本框右键单击上下文菜单的“删除”后触发事件

时间:2013-11-07 12:28:14

标签: java javascript gwt

当用户使用右键单击上下文菜单的“删除”从文本框中删除数据时,我想执行一些活动。

  • Event.ONMOUSEDOWN事件不起作用。
  • Javascript doesen没有为ondelete提供活动

任何帮助?

1 个答案:

答案 0 :(得分:0)

您将无法在上下文菜单中捕获“删除”。

解决方法1

当文本框值为“”时,您可以使用ONCHANGE并执行您需要执行的操作。

或者您可以使用ONKEYPRESS并检测“删除”笔划,或者检查每个按键笔划上的文本框内容。

使用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