Gwt 预防<;输入>;从SuggestBox冒出的气泡
我想防止当用户点击ENTER在SuggestBox中选择建议时,该关键事件冒泡 我将此代码放在包装Gwt 预防<;输入>;从SuggestBox冒出的气泡,gwt,event-handling,Gwt,Event Handling,我想防止当用户点击ENTER在SuggestBox中选择建议时,该关键事件冒泡 我将此代码放在包装组合中: Event.addNativePreviewHandler(new Event.NativePreviewHandler() { @Override public void onPreviewNativeEvent(NativePreviewEvent event) { if (event.getTypeInt() == E
组合中
:
Event.addNativePreviewHandler(new Event.NativePreviewHandler() {
@Override
public void onPreviewNativeEvent(NativePreviewEvent event) {
if (event.getTypeInt() == Event.KEYEVENTS) {
int key = event.getNativeEvent().getKeyCode();
if (key == KeyCodes.KEY_ENTER) {
event.cancel();
}
}
}
});
但是这个处理程序从未被调用。我不知道为什么你的方法不起作用。但我有另一种方法。为“建议”框添加关键事件侦听器。如果按下enter键,则取消事件的传播
suggestBox.addKeyPressHandler(new KeyPressHandler() {
@Override
public void onKeyPress(KeyPressEvent event) {
int key = event.getNativeEvent().getKeyCode();
if (key == KeyCodes.KEY_ENTER) {
event.stopPropagation();
}
}
});
这对我来说更有效:
suggestBox.addKeyPressHandler(new KeyPressHandler() {
@Override
public void onKeyPress(KeyPressEvent event) {
int key = event.getNativeEvent().getKeyCode();
if (key == KeyCodes.KEY_ENTER) {
event.getNativeEvent().preventDefault();
}
}
});
@珍
此代码限制文本区域中按下“enter”键的操作(如果suggestBox与文本区域关联),即使建议列表未显示
显示我的建议列表时,按“ENTER”键触发事件处理程序addSelectionHandler(),我要在其中停止传播(不应触发addKeyPressHandler事件处理程序)为什么要这样做?GWT事件处理程序不受事件冒泡的影响。@GaneshKumar,因为有一个外部小部件可在输入时保存表单,当使用此小部件在表单中的SuggestBox中选择建议时会触发此小部件。您能提供完整的示例吗?您能解释区别吗?