下面的基本结构,有一个ajax脚本替换div内部内容并更新菜单,推送历史状态,淡入/淡出内容等。
内部内容包含基础网格行,wordpress编辑器的内容位于该容器内。
现在问题是......当使用任何需要javascript触发器的Visual Composer函数时,全宽度Span,滑块,动画在我的ajax函数触发内容替换时不会再次加载。
以下是我的代码的一部分,在ajax获取内容后加载。
// Update the content
$content.stop(true,true);
//$("[data-vc-grid-settings]").vcGrid();
$('#content').foundation();
$content.html(contentHtml).ajaxify().css('opacity',100).show(); /* you could fade in here if you'd like */
// Update the title
document.title = $data.find('.document-title:first').text();
我认为.vcGrid()
是正确的init,但是得到了未定义的控制台错误。
我在哪里可以找到与重新初始化可视化作曲元素相关的文档?
<html>
<header>
Meta Content
</header>
<div off-canvus>
<menu></menu>
<div content>
<div inner-content>
</div>
</div>
<footer>
</footer>
<scripts>
</html>
答案 0 :(得分:1)
添加一些自定义的javascript逻辑 之后加载了可视化编辑器网格,请执行以下操作:
$(window).bind( 'grid:items:added', function(){
// add some logic here
});
详情请看这个问题=&gt; here
答案 1 :(得分:0)
在挖掘视觉作曲家的javascript后找到了我需要的数据,为窗口添加了一个调整大小的动作,触发视觉作曲家的网格正常工作。
$content.stop(true,true);
window.vc_js();
window.resize();
$('#content').foundation();
$content.html(contentHtml).ajaxify().css('opacity',100).show(); /* you could fade in here if you'd like */
// Update the title
document.title = $data.find('.document-title:first').text();
try {
document.getElementsByTagName('title')[0].innerHTML = document.title.replace('<','<').replace('>','>').replace(' & ',' & ');
}
catch ( Exception ) { }