Spi*_*iff 5 javascript java gwt
我用 preventDefault 停止了一个事件。现在我想重新抛出它。我尝试了 fireEvent 但这没有用。有没有办法实现这一目标?
更新 我创建了一个新的事件实例并使用了 elem.dispatchEvent(clickEvent); 而不是 fire 事件。
Event.addNativePreviewHandler(new Event.NativePreviewHandler()
{
public void onPreviewNativeEvent(NativePreviewEvent event)
{
if (event.getTypeInt() == Event.ONMOUSEDOWN)
{
Element elem = JSHelper.elementFromPoint(event.getNativeEvent().getClientX(), event.getNativeEvent().getClientY());
EventListener listener = Event.getEventListener(elem);
if((listener instanceof ListBox))
{
event.getNativeEvent().preventDefault();
//// ((ListBox) listener).fireEvent(event);
int y = event.getNativeEvent().getClientY();
int x = event.getNativeEvent().getClientX();
int screenX = event.getNativeEvent().getScreenX();
int screenY = event.getNativeEvent().getScreenY();
NativeEvent clickEvent = Document.get().createMouseEvent(
"click",true, false,0, screenX, screenY, x, y, false, false,
false, false, NativeEvent.BUTTON_LEFT, elem);
elem.dispatchEvent(clickEvent);
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1966 次 |
| 最近记录: |