gpt4 book ai didi

javascript - jquery 移动触发器 'create' 除第一次外不工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:20:32 24 4
gpt4 key购买 nike

我正在使用 jQuery Mobile 创建一个站点,我在索引页面中放置了一个用于搜索的表单。我迷上了 ajax 帖子的提交事件。当ajax成功获取到资源(html, <ul>...</ul> ),放置在目标容器中,然后触发创建事件以增强 View 。这在第一次工作正常。当我单击回到索引页面并再次搜索时,我得到了一个没有增强的原始 ListView ,谁能告诉我为什么? ps:试了很多方法,问题越来越多,官方文档太差了。

$(document).bind('pageinit',function(){
$("#search").submit(function(){
var searchdata = $("#search").serialize();

$.ajax({
'type':"POST",
'url':"/server/jnulib.php?action=search",
'data':searchdata,
'success':function(data){
$("#searchresultfield > ul").remove();
$("#searchresultfield").html(data).find('ul').trigger('create');

try{
$("#searchresultfield > ul").listview('refresh');
}catch(e){

}

$.mobile.changePage("#searchresult");
//$("div[data-role='header'] > a").
}
});

return false;
});
});

编辑: 测试网址: http://ijnu.sinaapp.com另一个问题:第二个 ajax 请求失败,浏览器直接导航到 ajax 目标。

最佳答案

你可以尝试改变:

$("#searchresultfield").html(data).find('ul').trigger('create');

到:

$("#searchresultfield").html(data).find('ul').listview().listview('refresh');

任何时候添加或删除需要刷新的元素,如果删除整个列表,则需要重新初始化它。

此外,如果 listview('refresh') 不可见,我也遇到过渲染不当的问题。

$(document).on('pageshow','div',function(event, ui){
if($("#searchresultfield > ul").is(":visible")) $("#searchresultfield > ul").listview('refresh');
});

关于javascript - jquery 移动触发器 'create' 除第一次外不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10399442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com