我正在尝试通过外部文件加载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>
按下加载按钮后的结果如下:
可能的js无法正常工作,但我无法找到解决此问题的方法。 请帮忙
答案 0 :(得分:2)
您需要为动态dom调用 componentHandler.upgradeAllRegistered()。
答案 1 :(得分:0)
在视图的最底部添加一个componentHandler.upgradeAllRegistered()
(在本例中为new_test.php)。