当用户在TextBox或TextArea中输入数据时,我想将另一个特殊输入字符(例如' A')替换为另一个字符(例如' B')。我的代码如下:
public void onKeyPress(KeyPressEvent event) {
if (event.getNativeEvent().getCharCode() == 65 /*for 'A'*/){
event.preventDefault();
NativeEvent event1 =
Document.get().createKeyPressEvent(false, false, false, false, 66 /* for 'B'*/);
DomEvent.fireNativeEvent(event1, theTextBox);
}
我认为它应该没问题(根据GWT文档),但实际上它只会工作到event.preventDefault();
,其余部分似乎被忽略了。我的意思是它只是删除了A'但是并没有为B'开火。谁能告诉我原因?或任何其他解决方案?
谢谢。
答案 0 :(得分:0)
尝试从KeyPressHandler
切换到KeyDownHandler
。
public void onKeyDown(KeyDownEvent event) {
if( event.getNativeKeyCode() == 65 ) {
//do the character replacement here
}
}
希望它会对你有所帮助。