简化:jqtouch移动应用程序ajax加载问题

时间:2010-08-17 21:01:24

标签: jqtouch

在jqtouch和iui中,如果您想关注<a href="#feed-49">This is a FEED</a>之类的链接并动态加载<div id="feed-49"></div>的内容,您会怎么做?

我已经尝试将单击处理程序绑定/生活到“a”和父级“div”上,但它永远不会被触发,只是实际跟踪链接的事件。感谢。

这是我的另一个问题的简化版本:

jqtouch mobile app ajax loading issue

2 个答案:

答案 0 :(得分:0)

这取决于您是希望页面预加载还是按需加载。

如果您想要预先加载,可能需要填写页面,例如$(document).ready

$(document).ready(function(){
    $('#feed-49').load('feed-49.html');
});

如果您希望按需加载,可以收听pageAnimationStart事件:

$('#feed-49').bind('pageAnimationStart', function(event, info){ 
    if (info.direction == 'in') 
        $(this).load('feed-49.html');
});

您可能需要阅读jQTouch's documentation on callback events

答案 1 :(得分:0)

我刚刚了解了您正在经历的内容并确切知道如何解决它。您需要将该XML转换为JSON对象,其编号为[0],[1]等

这个JQuery插件工作和摇滚http://www.fyneworks.com/jquery/xml-to-json/将JS添加到您的应用中。然后,您的解析XML函数将所需的XML节点(如通道中的项节点)转换为JSON对象,然后对项进行编号。

那么看看我如何清空当前的项目列表,构建项目列表并将自定义CLICK函数添加到列表项目中,并使用“sun”类(我喜欢jquery)。该函数然后将它的父节点标题和desc添加到需要它的div。 href会将它推送到新的jqtouch DIV,它将处理所有细节信息。很酷'呃?如果有效,请投票给我。它对我来说就像一个魅力。

         
function parseXml(xml)
{ 
  $('#feedList').html('');
  var rss = $.xml2json(xml); 
  $.each(rss.channel.item, function(i, item)
    { 
    $('#feedList').empty().append('<li class=sun'+i'><a href=#contentDiv>'+item.title+'</a></li>'); 
    $('.sun'+i).click(function() {
      $('#titleDiv').empty().append(item.title);                
      $('#descDiv').empty().append(item.description);   
      }); 
   }); 
};