0

我想将处理程序或侦听器添加到按钮,每次我按下键盘上的键时都会响应,即使它没有专注于它。我怎么能做到这一点?

4

1 回答 1

1
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.Event.NativePreviewEvent;
import com.google.gwt.user.client.Event.NativePreviewHandler;

Event.addNativePreviewHandler(new NativePreviewHandler() {

   @Override
   public void onPreviewNativeEvent(NativePreviewEvent event) {
      if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_DELETE) { //needs an int code
         //fire an event to your button or call your method

         event.getNativeEvent().stopPropagation(); //optional
         event.getNativeEvent().preventDefault(); //optional
      }
   }
});

我在我的 onModuleLoad() 方法中使用这样的代码来捕获按键事件并将其隐藏在浏览器中。您还可以使用

import com.google.gwt.user.client.Element;

Element as = (Element) Element.as(event.getNativeEvent().getEventTarget());
as.getTagName();

检查它来自哪里(例如标签名称是“input”,“textarea”),并根据它进行事件处理。

于 2013-02-06T08:41:16.683 回答