首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在jQuery中嵌套事件侦听器

是否可以在jQuery中嵌套事件侦听器
EN

Stack Overflow用户
提问于 2019-12-11 00:11:35
回答 1查看 34关注 0票数 0

一旦一个“transition”结束,我将使用“transition ended”来运行更多的代码。

我一直在尝试嵌套事件侦听器,但没有成功,因此在初始转换完成后,我可以查看进一步的转换。

正如您从下面的代码中看到的,我一直在测试,尝试先停止冒泡并删除以前的事件侦听器,但没有任何成功。

在下面的代码中,第一个even监听器可以工作,第二个监听器之后的任何东西都不会运行。

任何关于我做错了什么的指导,都将不胜感激。

代码语言:javascript
复制
$('.image-viewer').addClass('animate animate-out').on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(e){

    e.stopPropagation();

    if ( e.originalEvent.propertyName === 'opacity' ) {

        $('.image-viewer').removeClass('animate animate-out').off("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd");

        $('.image-viewer').addClass('transition').on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(e){

            e.stopPropagation();

            if ( e.originalEvent.propertyName === 'opacity' ) {

                $('.image-viewer').off("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd");

            }
        });

    }

});
EN

回答 1

Stack Overflow用户

发布于 2019-12-11 00:20:16

由于您正在嵌套相同的事件,因此您可以只设置一个全局侦听器:

代码语言:javascript
复制
$(document).on( "transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", '.image-viewer, function(){
            if ( e.originalEvent.propertyName === 'opacity' ) {

                $('.image-viewer').off();

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

https://stackoverflow.com/questions/59271360

复制
相关文章

相似问题

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