首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试Firefox中的transitionend事件支持

测试Firefox中的transitionend事件支持
EN

Stack Overflow用户
提问于 2013-10-15 22:05:45
回答 2查看 1.7K关注 0票数 2

我想测试一下浏览器对transitionend事件的支持,我可以很容易地做到这一点:

代码语言:javascript
复制
var isSupported = 'ontransitionend' in window;

然而,这在firefox中不起作用,这是一个众所周知的问题。我在这里找到了下面的一篇博客文章,描述了一个解决方案:Detecting event support without browser sniffing,但是我也无法让这个解决方案成功地测试transitionend。

问题是,虽然这对像'onclick‘这样的大多数事件都有效,但它似乎不适用于transitionend事件,我找不到一个可以工作的解决方案。我创建了一个fiddle来实际展示这一点,它首先测试onclick事件以演示该技术的工作原理,然后使用相同的技术进行transitionend。

Onclick返回true,但尽管浏览器支持可用,但ontransitionend返回false。

EN

回答 2

Stack Overflow用户

发布于 2013-10-15 22:17:50

我就是这么做的

代码语言:javascript
复制
function isTransitionsSupported() {
    var thisBody = document.body || document.documentElement,
        thisStyle = thisBody.style,
        support = thisStyle.transition !== undefined || 
                  thisStyle.WebkitTransition !== undefined || 
                  thisStyle.MozTransition !== undefined || 
                  thisStyle.MsTransition !== undefined || 
                  thisStyle.OTransition !== undefined;
    return support;
}

然后,可以将其赋值给变量

代码语言:javascript
复制
var = isTransitionSupported();

然后我简单地使用所有的监听器

代码语言:javascript
复制
var transEndEventNames = 'webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd transitionend';

以jQuery为例:

代码语言:javascript
复制
el.on(transEndEventNames, function() { ... });
票数 5
EN

Stack Overflow用户

发布于 2013-10-29 18:30:28

如果您有足够的空间使用一个独立的小工具来提供浏览器的transitionEnd事件名称,或者在不支持transitionEnd的情况下使用一个假值,那么这个(普通的)脚本非常棒:

https://github.com/EvandroLG/transitionEnd/

(致谢的是nobita,它指引我到这个脚本!)

我在这里做了一个小测试:http://jsfiddle.net/cA24Z/2/

代码语言:javascript
复制
// load the transition-end.js (or the minified version)
var tEnd = window.transitionEnd(document.createElement('div'));
if (tEnd.transitionEnd) {
    alert('This browser supports: ' + tEnd.transitionEnd + ' event');
} else {
    alert('This browser does not support transitionEnd event.');
}

(-:Hasse

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19383319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档