Javascript:是否有CSS转换启动事件?

时间:2014-01-19 15:56:28

标签: javascript events

我找到了转换结束事件,但我需要转换启动事件。有这样的事吗?

2 个答案:

答案 0 :(得分:13)

不,还没有。 (重申@FrédéricHamidi的评论。)

考虑使用事件聚合器,介体或pub / sub广播您自己的事件。这些都意味着基本相同的事情:不要等待JavaScript的DOM / CSS事件规范来满足您的需求,而是创建自己的全局/近全局事件管理系统,或者在您已经使用的任何事件框架中使用自定义事件

例如,您可以使用自定义jQuery事件:

// Transition target (body, for example)
var $body = jQuery(document.body);

// Register our transition starting function (left as exercise)
$body.on('transition_start', startFunction);

// Start the transition...
$body.addClass('transitioning')
    // ... and let everyone know
    .trigger('transition_start');`

答案 1 :(得分:9)

更新 transitionstarttransitioncancel都在CSS Transitions 2 specification,目前正在编辑的草稿状态中开发。

如果你不知道,transitionstart is implemented in Internet Explorer 10 and above。它没有任何规格,因此是非标准功能。它没有前瞻性且通常可以安全使用,我假设,因为这是在(或者如果)到达规范时实现的方式 - 所以也许你可以像这样做一个条件:

if ("transitionstart" in window) { 
    object.addEventListener("transitionstart", function() { 
        // IE 10 + and Edge
    });
}
else { 
    // fallback
}

唯一的"讨论"我可以找到关于@Daniel Trebbien发送给W3C的this邮件的问题,询问是否有可能将transitionstarttransitioncancel等新的过渡事件纳入规范。他甚至没有得到某人的回复,这真的很难过。