我在jquery移动应用程序中有一个函数,它通过post获取数据并填充列表视图。喜欢这个
function updateSomething(data){
var list = $('#list');
$.each(data.comments, function(key, comment) {
var item = '<li data-theme="c"> <a data-icon="arrow-r" class="test" href="# id="'+comment.id+'"><h3>'+comment.data+'</h3></a></li>';
//update the current dom with list items
list.append(item);
});
list.listview('refresh');
}
有没有办法让jquery刷新dom或者动态更新后的东西?
这应该通过以下javascript来获取,但它不是
<script type='text/javascript'>
$("#comment_page").live('pageinit', function() {
$('.test').click(function() {
alert('test click');
});
});
</script>
html
//comment page
<div data-role="page" id="comment_page" data-theme="c">
<div data-role="content">
<ul data-role="listview" id="list" data-theme="b"></ul>
</div>
</div>
//another page
<div data-role="page" id="login_page" data-theme="b">
<div data-role="header">
<h1>Login</h1>
</div><!-- /header -->
<div data-role="content">
<div id="response"></div>
<div data-role="fieldcontain" class="ui-hide-label">
<label for="email">Email:</label>
<input type="text" name="email" id="email" value="" placeholder="Email"/>
</div>
<div data-role="fieldcontain" class="ui-hide-label">
<label for="password">password:</label>
<input type="password" name="password" id="password" value="" placeholder="Password"/>
</div>
<input type="submit" name="login_button" id="login_button" value="Login"/>
</div><!-- /content -->
</div><!-- /page -->
答案 0 :(得分:1)
尝试将.click更改为.live(“click”,function(){//代码
另一个选项是在已经存在且没有被jQuery添加的dom元素上使用委托方法
<script type='text/javascript'>
$("#comment_page").live('pageinit', function() {
$('.test').live("click",function() {
alert('test click');
});
});
</script>