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

bar*_*a28 26 javascript events

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

Ree*_*ool 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');`
Run Code Online (Sandbox Code Playgroud)

  • 如果这没有帮助,那么删除这个问题有点激进.如果我穿着OP鞋并且问题已经在评论中得到回答,那对我来说并没有完全帮助 (2认同)

mns*_*sth 9

更新: transitionstart并且transitioncancel都在CSS Transitions 2规范中,目前正在编辑的草稿状态中开发.

如果您不知道,transitionstart则在Internet Explorer 10及更高版本中实现.它不是任何规范,因此是非标准功能.它是没有前缀的,通常可以安全使用,我假设,因为这是在(或者如果)到达规范时实现的方式 - 所以也许你可以像这样做一个条件:

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

唯一的一种"讨论"我能找到关于这个问题是该邮件由@Daniel Trebbien发送到W3C,询问了包括新的过渡活动,如可能性transitionstart,并transitioncancel进入规范.他甚至没有得到某人的回复,这真的很难过.