Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GWT本机事件不提供预期行为_Gwt_Gwt2 - Fatal编程技术网

GWT本机事件不提供预期行为

GWT本机事件不提供预期行为,gwt,gwt2,Gwt,Gwt2,我有一个文本小部件,我想让enter事件像tab事件一样工作。因此,我捕获了按键事件并引发了一个tab本机事件 但是,选项卡行为不会反映在应用程序中。事件处理程序的代码是 public void onKeyPress(KeyPressEvent event) { int keyCode = event.getNativeEvent().getKeyCode(); if (keyCode == KeyCodes.KEY_ENTER) {

我有一个文本小部件,我想让enter事件像tab事件一样工作。因此,我捕获了按键事件并引发了一个tab本机事件

但是,选项卡行为不会反映在应用程序中。事件处理程序的代码是

   public void onKeyPress(KeyPressEvent event) { 
            int keyCode = event.getNativeEvent().getKeyCode(); 
            if (keyCode == KeyCodes.KEY_ENTER) { 
               NativeEvent nativeEvent = 
               Document.get().
                 createKeyPressEvent(false,false,false,false,KeyCodes.KEY_TAB ); 
               DomEvent.fireNativeEvent(nativeEvent, this, this.getElement()); 
            } 
当我将不推荐使用的createKeyPressEvent与更多参数一起使用时,它会触发tab事件,但其行为与tab按键不同,即移动到下一个小部件。新代码与createKeyPress事件行中的上述代码不同 如下

     NativeEvent nativeEvent = 
       Document.get().
         createKeyPressEvent(false,false,false,false,
                      KeyCodes.KEY_TAB ,KeyCodes.KEY_TAB);
请注意,手动触发事件 不生成默认操作 与该事件有关。对于 例如,手动触发焦点事件 不会导致元素接收 焦点(必须使用其焦点方法 为此,请手动启动submit 事件不提交表单(使用 提交方法),手动启动一个键 事件不会导致该信件被删除 出现在焦点文本输入中,并且 手动触发一个点击事件 链接不会导致链接被删除 在UI的情况下激活等 事件,这对安全性很重要 原因,因为它阻止脚本 模拟交互的用户操作 使用浏览器本身


来自。

你说得对。现在我改变了我的处理方式。按下enter键后,我通过代码控制焦点,这类似于tab事件的操作。执行工作也在更高的层次上进行。