0

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

  • Event.ONMOUSEDOWN 事件不起作用。
  • Javascript 不提供 ondelete 事件

有什么帮助吗?

4

1 回答 1

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

于 2013-11-07T15:14:02.573 回答