首页 文章

MaterialDesign,JS行为在通过ajax加载时丢失

提问于
浏览
1

我在这里犯了愚蠢的错误 . I 'm building a website using PHP/JS, and using Google' s Material Design comportments和CSS:https://getmdl.io/components/

我的页面是这样构建的: - index.php,它是主页面(带有到css,js文件等的链接......) - 包含一个div,其他php“模块”(不同的php文件只包含一些neede部分)已加载 .

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

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

1 回答

  • 3

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

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

    componentHandler.upgradeDom();
    

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

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

相关问题