Jquery移动和动态链接
为了一个工作项目,我在使用Jquery手机时遇到了一个小绊脚石,我在上面转了太久,所以是时候进行同行评议了 这个概念是这样的:有一个带有“最近facebook条目”按钮的主页。单击后,该按钮将带您进入第二个页面,其中的结果将从facebook rss提要中提取,并包装在指向同一页面上书签的标记中(符合JQM约定)。到目前为止,我没有问题,链接正确地填充了标题,href正确地指向href=“detailpage”+I。问题是,当我尝试创建相应的内容容器并使用匹配的detailpage+I id将其附加到body标记时,链接只会将我带回主页,而不是新附加的内容 我的想法是,可能dom在创建新内容后不知道新内容在那里,因此,没有匹配的元素,只返回第一个“page”元素 我将jqm1.0b2和jquery1.6.2与phonegap一起使用 我正在执行的操作如下所示:Jquery移动和动态链接,jquery,jquery-mobile,cordova,append,Jquery,Jquery Mobile,Cordova,Append,为了一个工作项目,我在使用Jquery手机时遇到了一个小绊脚石,我在上面转了太久,所以是时候进行同行评议了 这个概念是这样的:有一个带有“最近facebook条目”按钮的主页。单击后,该按钮将带您进入第二个页面,其中的结果将从facebook rss提要中提取,并包装在指向同一页面上书签的标记中(符合JQM约定)。到目前为止,我没有问题,链接正确地填充了标题,href正确地指向href=“detailpage”+I。问题是,当我尝试创建相应的内容容器并使用匹配的detailpage+I id将其
$('#gotoContentpage').click(function(){
$("#contentlist").empty(); //empty the list elements we've placed in the html
$.ajax({
type: "GET",
url: "https://www.facebook.com/feeds/page.php?id=212385708771580&format=rss20",
dataType: "xml",
success: parseXml
});
function parseXml(xml){
var i =1;
$(xml).find("item").each(function(){
var pageid = "detailpage" + i;
$("#contentlist").append("<li><a href='#"+pageid+"'>" + ($(this).find("title").text()) + "</a></li>");
$("body").append("<div data-role='page' id='"+pageid+"'><div data-role='header'><a data-rel='back'>back</a><h1>" + ($(this).find("title").text()) + "</h1></div><div data-role='content'>" + ($(this).find("description").text()) +"</div><div data-role='footer'><h1> detail Page Footer </h1></div></div>");
i++;
});
$("#contentlist").listview('refresh');
}
});
$('gotoContentpage')。单击(函数(){
$(“#contentlist”).empty();//清空我们在html中放置的列表元素
$.ajax({
键入:“获取”,
url:“https://www.facebook.com/feeds/page.php?id=212385708771580&format=rss20",
数据类型:“xml”,
成功:parseXml
});
函数parseXml(xml){
var i=1;
$(xml).find(“项”).each(函数(){
var pageid=“detailpage”+i;
$(“#内容列表”)。追加(“”);
$(“正文”)。附加(“
编辑:经过几个小时的轮转和改变方法后,我似乎找到了一个解决方案。与最初加载的所有其他链接一样,我没有将href指向书签,而是被迫使用$.mobile.changePage函数来到达我需要去的地方
"<li><a href='javascript:void(0)' onclick=\"javascript: $.mobile.changePage($('"+'#'+pageid+ "'), 'slide');\">" + "foobar"</a></li>"
“”
希望这对某人有所帮助。我相信,动态添加的页面应该添加数据url
属性,以便在导航中启用它。
如果我没记错的话,这是在JQM对“返回”按钮和“历史记录”进行大修时添加的。该ID不再用于导航
就你而言:
$("body").append("<div data-role='page' data-url='"+pageid+"' id='"+pageid+"'><div data-role='header'><a data-rel='back'>back</a><h1>" + ($(this).find("title").text()) + "</h1></div><div data-role='content'>" + ($(this).find("description").text()) +"</div><div data-role='footer'><h1> detail Page Footer </h1></div></div>");
可能是调用.page()
只需添加数据url
,我会在有时间时检查并更新我的答案。我相信,动态添加的页面应该添加数据url
属性,以便在导航中启用它。
如果我没记错的话,这是在JQM对“返回”按钮和“历史记录”进行大修时添加的。该ID不再用于导航
就你而言:
$("body").append("<div data-role='page' data-url='"+pageid+"' id='"+pageid+"'><div data-role='header'><a data-rel='back'>back</a><h1>" + ($(this).find("title").text()) + "</h1></div><div data-role='content'>" + ($(this).find("description").text()) +"</div><div data-role='footer'><h1> detail Page Footer </h1></div></div>");
可能是调用.page()
只需添加数据url
我会在有时间时检查并更新我的答案。非常有用的帖子,一件小事,url上的.php后面缺少“?”…我知道很小。:)很高兴它帮助了你。(修复了url错误,谢谢!)非常有用的帖子,一件小事,你错过了url上.php之后的“?”…我知道。很高兴它帮了你。(修复了url错误,谢谢!)