【发布时间】:2018-03-03 00:26:56
【问题描述】:
当 CSS 动画完成时,我试图在 web component 上触发事件,但是用户可能会使用 animation: none; 从元素中清除动画,这意味着 transitionend 事件永远不会触发:
// wait for dialog close animation to end before firing closed event
element.addEventListener('transitionend', function() {
// fire dialog closed event
self.dispatchEvent(new CustomEvent('pure-dialog-closed', {
bubbles: true,
cancelable: true
}));
});
为确保我的自定义事件始终触发,我需要确定元素或其任何子元素是否应用了动画,如果没有,则立即触发 pure-dialog-closed 事件。
我有 tried 检查 style.animationName 和 self.style.transition 但它似乎没有工作。我需要一种简单的方法来检查一个元素或其任何子元素是否应用了 CSS 动画。
【问题讨论】:
标签: javascript css css-transitions css-animations web-component