在这个jsFiddle示例中......
...我试图在页面加载后在div中添加jQuery Mobile样式按钮。页面加载时页面上显示的大按钮看起来很棒...但是当我尝试“动态”添加另一个类似的按钮(通过单击“添加另一个按钮”)时,它不会被设置为样式它应该是(即使我通过jQuery'追加'按钮的正确HTML代码。)
这是完整的代码......
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
</head>
<body>
<!-- Mark-up -->
<input id="addButton" type="button" value="Add Another Button">
<div style="width: 300px; height: 400px; top: 50px; left: 10px; position: absolute; border: 1px solid black;" >
<section id="page1" data-role="page">
<div class="content" data-role="content">
<a href="#" data-role="button">This is a button!</a>
</div>
</section>
</div>
<!-- Script -->
<script>
$(document).ready(function() {
$('#addButton').click(function() {
$('.content').append('<a href="#" data-role="button">This is another button!</a><br />');
});
});
</script>
</body>
</html>
我在这里缺少什么?如何让jQuery Mobile识别HTML的动态更新?
谢谢!
答案 0 :(得分:3)
以下是一个有效的例子:http://jsfiddle.net/Gajotres/2uerX/
$(document).on('pagebeforeshow', '#index', function(){
$('#addButton').click(function() {
$('.content').append('<a href="#" data-role="button">This is another button!</a><br />');
$('[data-role="button"]').button();
});
});
当您动态添加新的jQM内容时,jQM还必须增强新内容。如果是按钮,则使用:
完成$('[data-role="button"]').button();
要了解更多信息,请查看我的其他答案/文章:jQuery Mobile: Markup Enhancement of dynamically added content