gpt4 book ai didi

dom - 如何将 CSS AnimationEnd 事件处理程序添加到 GWT 小部件?

转载 作者:技术小花猫 更新时间:2023-10-29 11:33:57 27 4
gpt4 key购买 nike

我希望我的 GWT 小部件在 CSS animation 时得到通知结束了。

在纯 HTML/Javascript 中,这很容易通过注册一个事件处理程序来完成,如下所示:

elem.addEventListener("webkitAnimationEnd", function(){
// do something
}, false);
// add more for Mozilla etc.

我如何在 GWT 中执行此操作?

这种类型的事件对于 GWT 的 DOMImpl 类是未知的,所以我不断收到错误消息:

"Trying to sink unknown event type webkitAnimationEnd".

最佳答案

基于 Darthenius 的回答和 Clay Lenhart's Blog ,我最终选择了这个解决方案:

private native void registerAnimationEndHandler(final Element pElement,
final CbAnimationEndHandlerIF pHandler)
/*-{
var callback = function(){
pHandler.@fully.qualified.CbAnimationEndHandlerIF::onAnimationEnd()();
}
if (navigator.userAgent.indexOf('MSIE') < 0) { // no MSIE support
pElement.addEventListener("webkitAnimationEnd", callback, false); // Webkit
pElement.addEventListener("animationend", callback, false); // Mozilla
}
}-*/;

CbAnimationEndHandlerIF 是一个简单的自定义EventHandler 接口(interface):

public interface CbAnimationEndHandlerIF extends EventHandler
{
void onAnimationEnd();
}

工作起来很有魅力!谢谢 Darthenius!

如果有人能发现其中的弱点,我当然很乐意知道。

关于dom - 如何将 CSS AnimationEnd 事件处理程序添加到 GWT 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8249880/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com