jquery - 带有 jQ​​uery 的 CSS3 过渡事件监听器

标签 jquery events css css-transitions event-listener

我正在文章元素上实现 CSS3 过渡效果,但事件监听器 transitionend 仅适用于纯 JavaScript,不适用于 jQuery。

请看下面的例子:

// this works
this.parentNode.addEventListener( 'transitionend', function() {alert("1"); }, true);

// this does not work
$(this).parent().addEventListener( 'transitionend', function() {alert("1"); }, true);

谁能解释一下我做错了什么?

最佳答案

另请注意,如果您在一个元素上运行多个转换(例如不透明度和宽度),您将获得多个 transitionEnd 回调。

如果您使用 jQuery 将事件绑定(bind)到 div 的过渡结束,您可能需要考虑使用 one() 函数。

$(this).parent().one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend", function() {
    // your code when the transition has finished
});

这意味着代码只会在第一次触发。因此,如果您在同一个元素上发生了四种不同的转换,您的回调只会触发一次。

关于jquery - 带有 jQ​​uery 的 CSS3 过渡事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11284194/

相关文章:

javascript - 当所有异步处理程序完成时执行 javascript 函数

php - cron 作业被触发而不是在特定时间并且不重复

javascript - 如何在单击时切换元素的边框属性,而不取代其他元素?

android - <span> 中的文本仅在 android kitkat 上的 WebView 中分成两行

javascript - 使用jquery获取容器内文本框的位置

javascript - 如何在 Postback 上维护 UI 元素状态? (ASP.NET MVC)

javascript - 判断一个多词字符串是否包含一个词

javascript - 将 $.proxy 与动态创建的元素一起使用

events - jwplayer - 检测开始

css - border-radius css 属性在 Windows Live 客户端中不起作用