MaterialDesign,JS行为在通过ajax

时间:2016-05-06 09:39:09

标签: javascript ajax material-design material-design-lite

我开始使用Ajax,jQuery等等,如果我在这里犯了愚蠢的错误,那就很抱歉。 我使用PHP / JS构建网站,并使用Google的Material Design组合和CSS:https://getmdl.io/components/

我的网页是这样构建的: - index.php,这是主页面(包含到css,js文件等的链接......) - 包含div其他php"模块" (不同的php文件,只包含一些neede部分)被加载。

我的问题是,在这些加载的页面中,每个"特殊"材料设计类的行为完全丢失(没有"涟漪效应"按钮,文本字段标签不会消失,因此与文本字段内容重叠等等)。 css样式很好(显示材质设计颜色,视觉效果很好)但不点击时的行为等......

知道如何解决这个问题吗? 非常感谢!

1 个答案:

答案 0 :(得分:3)

在深入研究jQuery githubs问题报告后找到解决方案。看起来组件在通过AJAX加载时没有被DOM升级。

必须在通过AJAX加载的页面中添加以下调用:

 componentHandler.upgradeDom();

通过函数调用或ajaxComplete监听器,例如:

 $('body').ajaxComplete(function () {
      componentHandler.upgradeDom();
 });