javascript 事件不适用于使用 json 添加的动态内容

2023-12-07

我陷入了这样一种情况:我的 DOM 元素是基于动态生成的$.getJSON该元素的 Javascript 函数不起作用。我将在我的代码中发布一些总体想法,因为我只是在寻找在这种情况下应该做什么的方向。

site.js包含一般功能,例如

$(document).ready(function() {
    $('.element').on('click', function() {
        $(this).toggleClass('active');
    });

    $(".slider").slider({
        // some slider UI code...
    });
});

在那之后:

$.getJSON('json/questions.json', function (data) {
    // generating some DOM elements...
});

我还尝试将所有 site.js 内容包装到函数中refresh_scripts()并在之后调用它$.getJSON()但似乎没有任何作用。


首先,您需要使用委托事件处理程序来捕获动态附加元素上的事件。然后你可以调用.slider()再次在成功处理函数中调用方法,以在新附加的内容上实例化插件。尝试这个:

$(document).ready(function(){
    $('#parentElement').on('click', '.element', function() {
        $(this).toggleClass('active');
    });

    var sliderOptions = { /* slider options here */ };
    $(".slider").slider(sliderOptions);

    $.getJSON('json/questions.json', function(data) {
        // generating some DOM elements...
        $('#parentElement .slider').slider(sliderOptions);
    });
});    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javascript 事件不适用于使用 json 添加的动态内容 的相关文章

随机推荐