Java 模拟GWT中的jQuery event.which
GwtQuery文档提供了以下示例作为处理事件的起点:Java 模拟GWT中的jQuery event.which,java,gwt,gwtquery,Java,Gwt,Gwtquery,GwtQuery文档提供了以下示例作为处理事件的起点: $("h1").bind(Event.ONMOUSEOVER | Event.ONMOUSEOUT, new Function() { public boolean f(Event e) { $(e).toggleClass("highlight"); return true; } }); 但是,与jQuery并行程序不同的是,没有this关键字来引用处理程序中的元素,这就是为什么它作为事件e传递,并包装在$()中
$("h1").bind(Event.ONMOUSEOVER | Event.ONMOUSEOUT, new Function() {
public boolean f(Event e) {
$(e).toggleClass("highlight");
return true;
}
});
但是,与jQuery并行程序不同的是,没有this
关键字来引用处理程序中的元素,这就是为什么它作为事件e
传递,并包装在$()
中。但是,我们无法访问实际事件。我们如何在GWT中计算jQuery中使用event.which
,或event.target
具体来说,我要看两个事件。一个是
mousedown
,之后我需要检查它是否是左键(jQuery等价于e.which==1
),还有一个keyup
事件,之后我需要检查特定的键(e.keyCode==13
,等等).传递给函数的事件
对象是GWT对象com.google.GWT.user.client.Event
因此,如果您想知道是否按下了左键:
if (e.getButton() == NativeEvent.BUTTON_LEFT){
...
}
如果您想知道按下了哪个键:
e.getCharCode()
如果您没有寻找与GWT相关的答案,请删除。对于贝斯韦尔来说,gwtquery
基本上与gwt
相关,因此我认为这也应该被标记为gwt
问题..亚历山大的答案有什么不对?事件
传递给函数
的不是GWT对象吗?什么答案?我在这里看不到任何答案..好吧,GWT不能像jQuery那样简单地用事件绑定所有元素…(除非您使用BodyElement.getElementsByTagName和sinkEvent,我永远不会使用它们)。你可以把JS代码放在HTML文件中,所以我建议使用你的JS代码