繁体   English   中英

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

[英]Is it possible to nest event listeners in jQuery

一旦“转换”结束,我将使用“transitionend”来运行进一步的代码。

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

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

在下面,第一个偶数侦听器工作,然后第二个之后的任何东西都不会运行。

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

$('.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");

            }
        });

    }

});

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

$(document).on( "transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", '.image-viewer, function(){
            if ( e.originalEvent.propertyName === 'opacity' ) {

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

            }
} );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM