我找到了转换结束事件,但我需要转换启动事件。有这样的事吗?
答案 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)
更新 transitionstart
和transitioncancel
都在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邮件的问题,询问是否有可能将transitionstart
和transitioncancel
等新的过渡事件纳入规范。他甚至没有得到某人的回复,这真的很难过。