【发布时间】:2011-12-13 17:34:38
【问题描述】:
我想使用 transitionend Mozilla CSS3 属性在 CSS3 转换完成时触发事件。我知道我可以使用计时器来实现类似的功能,但是本着 CSS3 动画的精神,让我们把它交给浏览器。这是此活动的example。
问题:GWT 2.4 不支持 DOM.setEventListener supported event types 中的此事件。我尝试使用:
DOM.sinkBitlessEvent(element, "transitionend");
但是使用调试器发现它只支持(通过重新绑定):
dragenterdragexitdragoverdrop
所以,如果没有编写原生事件处理程序 JSNI 代码(这让我可以看到 memory leaks),如何在 GWT 中的一个元素上侦听 GWT 不支持开箱即用的事件?
作为参考,以下是 GWT 2.3 为 DomImplStandard.java 中的 gecko_1.8 排列构建的内容:
protected native void sinkBitlessEventImpl(Element elem, String eventTypeName) /*-{
if (eventTypeName == "dragenter")
elem.ondragenter = @com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent;
if (eventTypeName == "dragexit")
elem.ondragexit = @com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent;
if (eventTypeName == "dragover")
elem.ondragover = @com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent;
if (eventTypeName == "drop")
elem.ondrop = @com.google.gwt.user.client.impl.DOMImplStandard::dispatchEvent;
}-*/
【问题讨论】:
标签: javascript css gwt dom-events css-transitions