GwtQuery文档提供了以下示例作为摆弄事件的起点:
$("h1").bind(Event.ONMOUSEOVER | Event.ONMOUSEOUT, new Function() {
public boolean f(Event e) {
$(e).toggleClass("highlight");
return true;
}
});
但是,与jQuery并行不同,没有this
关键字来引用处理程序内部的元素,这就是它作为Event e
传递的原因,包含在$()
中。但是,我们无法访问实际的事件。我们如何使用event.which
或event.target
在GWT中计算我们可以做什么?
具体来说,我正在寻找两个事件。一个是mousedown
,之后我需要检查它是否是左键(jQuery等效为e.which == 1
)和keyup
事件,之后我需要检查特定键(e.keyCode == 13
等)。
答案 0 :(得分:2)
传递给函数的Event
对象是GWT对象com.google.gwt.user.client.Event
因此,如果您想知道是否按下了左键:
if (e.getButton() == NativeEvent.BUTTON_LEFT){
...
}
如果您想知道按下了哪个键:
e.getCharCode()