【问题标题】:reload visual composer grid after ajax callajax 调用后重新加载可视化作曲家网格
【发布时间】:2017-11-10 05:50:36
【问题描述】:

我目前在 wordpress 主题中实现 barba.js。除了 VisualComposer 网格之外,我已经设法使大多数 javascript 函数在页面更改后正常工作。

阅读this 线程我已经设法通过window.vc_js(); 使除网格之外的Visual composer 基本功能工作

如果我添加window.resize();,我会收到window.resize is not a function 错误。

在很多页面中,window.vc_js() - window.vc_js is not a function 也出现同样的错误

如何初始化 vc_grid? 为什么在 Visual composer 实际处于活动状态时会出现这些错误?

任何帮助表示赞赏

【问题讨论】:

    标签: ajax visual-composer


    【解决方案1】:

    tl;博士

    将您的自定义 javascript 代码放在这里:

    $(window).bind( 'grid:items:added', function(){ 
      // add some logic here
    });
    

    如果您需要在 加载 Visual Composer 网格之后创建一些逻辑,那么就这样做(我正在从某个站点粘贴我的代码):

    // catch VISUAL COMPOSER AFTER GRID ITEMS ARE LOADED .. hook and update date strings,, ONCE!
    $(window).bind( 'grid:items:added', function(){
        if ( ! $( 'body' ).attr('masonicaDone' ) == "1" ){
            $('.enddate, .startdate').each( function(ix, el){
                var tmm = sDate( TIME( $(el).text().trim() ), lang ) + ' ∙ ' + sTime( TIME( $(el).text().trim() ), lang  );
                $(el).text( tmm );
            });
            $( 'body' ).attr('masonicaDone', 1);
        }
    });
    

    主要是 bind'grid:items:added' 事件,它在 ajax 数据传输后运行,在我的示例中,我将日期格式化为本地格式(而不是原生 php 日期格式,WP )

    另外,非常重要的是添加某种标志(我在正文上)不要做超过一次(我最终会格式化日期字符串两次并有错误)但只是第一次(在ajax之后)。请注意,单击过滤器按钮(大多数情况下是投资组合类别)会触发相同的事件,并且谁知道可能还有一些转换..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      • 1970-01-01
      • 2016-10-20
      • 2018-01-09
      • 2017-12-29
      • 1970-01-01
      相关资源
      最近更新 更多