代码之家  ›  专栏  ›  技术社区  ›  Hans

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

  •  1
  • Hans  · 技术社区  · 15 年前

    在jqtouch和iui中,如果你想跟踪这样的链接,你会怎么做 <a href="#feed-49">This is a FEED</a> 并动态加载 <div id="feed-49"></div> ?

    我曾尝试将click处理程序绑定/激活到“a”和父“div”上,但它从未被触发,只是实际跟踪链接的事件。谢谢。

    jqtouch mobile app ajax loading issue

    2 回复  |  直到 8 年前
        1
  •  0
  •   William Niu    14 年前

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

    如果你想让它预加载,你可以在, $(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 .

        2
  •  0
  •   B-Money    14 年前

    我刚刚经历了你正在经历的事情,知道如何解决它。 您需要将XML转换为JSON对象,这些对象将被编号为[0]、[1]等。

    这个JQuery插件可以正常工作 http://www.fyneworks.com/jquery/xml-to-json/ 将该JS添加到你的应用程序中。然后,parse XML函数将所需的XML节点(如通道中的项目节点)转换为JSON对象,然后对项目进行编号。

    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);   
          }); 
       }); 
    };
    
    推荐文章