jQuery on() 无法处理已加载的元素

jQuery on() not working on loaded elements

我按照文档中的说明进行了所有操作,但就是没有触发。

    //Magnific Popup Background Blur

    $('a.video-popup').on('click', function(e) {

        $('.main-wrapper').addClass('blur');
        $('header').addClass('blur');

        console.log('Easy!');

    });

    $('document.body').on('click','.mfp-wrap', function(e) {  //mfp-wrap is background

        console.log('Finallly!!');

        $('.main-wrapper').removeClass('blur');
        $('header').removeClass('blur');
    });

第一个功能运行良好,但第二个..

情况:


解决方案:

$('document.body').on('click','.mfp-wrap', function(e) 

$(document).on('click','.mfp-wrap', function(e)

在此选择器中

$('document.body')

表示 document 节点包含 body class 而不是 body 节点

并且没有名称为document

的节点

像这样尝试

$(document).on('click','.mfp-wrap', function(e)

尝试替换

$(document.body).on('click','.mfp-wrap'

对于

$('document.body').on('click','.mfp-wrap'