当用户使用右键单击上下文菜单的“删除”从文本框中删除数据时,我想执行一些活动。
- Event.ONMOUSEDOWN 事件不起作用。
- Javascript 不提供 ondelete 事件
有什么帮助吗?
当用户使用右键单击上下文菜单的“删除”从文本框中删除数据时,我想执行一些活动。
有什么帮助吗?
您将无法在上下文菜单中看到“删除”。
解决方法 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