Material Design Lite Switch无法处理jquery加载

时间:2016-04-07 12:10:19

标签: javascript php jquery html5 material-design

我正在尝试通过外部文件加载MDL Switch,但它无法正常工作。

这是我的主页代码:index.php

<!doctype html>
<html lang="en">
<head>
<link rel="stylesheet" href="material.min.css">
</head>

<body>
<a href="#" class="lo">Load</a>
<div class="demo-switch">

<label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="switch-2">
<input type="checkbox" id="switch-2" class="mdl-switch__input" />
<span class="mdl-switch__label">Bluetooth</span>
</label>

</div>

<script src="js/material.min.js"></script>
<script src="js/jquery.js"></script>
<script>
$(document).ready(function(){

  $.getScript("js/material.min.js").done(function(){

      $(document).on("click",".lo",function(){
      $('.demo-switch').load("new_test.php");
      });
  });



});

</script>

</body>
</html>

这是文件new_test.php

<div class="demo-switch">

<label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="switch-2">
<input type="checkbox" id="switch-2" class="mdl-switch__input" />
<span class="mdl-switch__label">Bluetooth</span>
</label>

</div>

按下加载按钮后的结果如下:

Here are the result after i press load button

可能的js无法正常工作,但我无法找到解决此问题的方法。 请帮忙

2 个答案:

答案 0 :(得分:2)

您需要为动态dom调用 componentHandler.upgradeAllRegistered()

答案 1 :(得分:0)

在视图的最底部添加一个componentHandler.upgradeAllRegistered()(在本例中为new_test.php)。