【问题标题】:jQuery - add ticker to DOM after ajax calljQuery - 在ajax调用后向DOM添加ticker
【发布时间】:2012-05-01 13:30:19
【问题描述】:

我在我的新项目中使用其中一个 jQuery 代码,并使用 HTML5 History API(pushState 和 popState)加载页面。使用 jQuery.getJSON() 加载页面内容后,我会收到警告说“DOM 中不存在元素!” - 我相信它指的是股票代码容器(在 ajax 调用后返回),因为它在内容加载后不起作用。

我尝试在 jQuery.getJSON() 的回调函数中再次实例化代码,但这并没有解决问题:

jQuery.getJSON(url, function(data) {
    jQuery.each(data, function(k, v) {
        $('#' + k + ' section').fadeOut(200, function() {
            $(this).replaceWith($(v).hide().fadeIn(200));
        });             
    });
    $('ul#feedNews').ticker({
        speed: 0.10,
        controls: true,
        titleText: '<strong>Latest news</strong>',
        displayType: 'reveal',
        direction: 'ltr',
        pauseOnItems: 3000,
        fadeInSpeed: 600,
        fadeOutSpeed: 300
    });
});

知道解决方案是什么吗?

【问题讨论】:

    标签: jquery bind ticker news-ticker popstate


    【解决方案1】:

    这很可能是由于插件仅使用加载时存在的元素造成的。我猜它不会在内部使用delegateliveon 的委托版本。

    您的选择是找到一个适用于动态内容的插件,或者修改此插件源以使用上述方法之一。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    相关资源
    最近更新 更多