在GWT中模仿jQuery event.which

时间:2013-01-19 11:21:02

标签: java gwt gwtquery

GwtQuery文档提供了以下示例作为摆弄事件的起点:

$("h1").bind(Event.ONMOUSEOVER | Event.ONMOUSEOUT, new Function() {
  public boolean f(Event e) {
    $(e).toggleClass("highlight");
    return true;
  }
});

但是,与jQuery并行不同,没有this关键字来引用处理程序内部的元素,这就是它作为Event e传递的原因,包含在$()中。但是,我们无法访问实际的事件。我们如何使用event.whichevent.target在GWT中计算我们可以做什么?

具体来说,我正在寻找两个事件。一个是mousedown,之后我需要检查它是否是左键(jQuery等效为e.which == 1)和keyup事件,之后我需要检查特定键(e.keyCode == 13等)。

1 个答案:

答案 0 :(得分:2)

传递给函数的Event对象是GWT对象com.google.gwt.user.client.Event 因此,如果您想知道是否按下了左键:

if (e.getButton() == NativeEvent.BUTTON_LEFT){
 ...
}

如果您想知道按下了哪个键: e.getCharCode()