УПРОЩЕНО: проблема с загрузкой ajax мобильного приложения jqtouch

Что делать в jqtouch и iui, если вы хотите перейти по ссылке типа <a href="#feed-49">This is a FEED</a> И динамически загрузить содержимое <div id="feed-49"></div>?

Я пробовал связать/перевести обработчик кликов на «a» и на родительский «div», но он никогда не запускается, только событие для фактического перехода по ссылке. Спасибо.

Это упрощенная версия моего другого вопроса:

проблема с загрузкой ajax мобильного приложения jqtouch


person Hans    schedule 17.08.2010    source источник


Ответы (2)


Это зависит от того, хотите ли вы, чтобы страница была предварительно загружена или загружалась по запросу.

Если вы хотите, чтобы он был предварительно загружен, вы можете заполнить страницу, скажем, $(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 по событиям обратного вызова.

person William Niu    schedule 19.08.2010
comment
Мне нужно было следить за тем, чтобы щелчок jqtouch включался с тегом a, но также запускал другое событие - в основном, когда пользователь щелкает/нажимает, он должен перейти в div И выполнить некоторые другие действия javascript. Наконец-то я заработал, добавив onClick=other_stuff()' к реальному тегу a. По какой-то причине live('click',function()... не будет работать, но onClick= будет. Принимаю этот ответ за комбинацию вашего ответа и этого комментария. Спасибо за вашу помощь. - person Hans; 20.08.2010
comment
ваша проблема с live() может быть решена путем обновления вашего jquery. У меня была аналогичная проблема раньше. :) - person William Niu; 20.08.2010

Я только что прошел через то же, что и вы, и точно знаю, как это решить. Вам нужно преобразовать этот XML в объекты JSON, которые будут пронумерованы [0], [1] и т. д.

Этот подключаемый модуль JQuery работает и отлично работает : http://www.fyneworks.com/jquery/xml-to-json/ Добавьте этот JS в свое приложение. Затем ваша функция синтаксического анализа XML преобразует нужные узлы XML (например, узлы элементов в канале) в объекты JSON, а затем нумерует элементы.

Итак, посмотрите, как я затем очищаю текущий список элементов, создаю список элементов и добавляю пользовательскую функцию CLICK к элементам списка с классом «солнце» (я люблю jquery). Затем эта функция добавит заголовок и описание родительского узла к нужным элементам 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);   
      }); 
   }); 
};
person B-Money    schedule 28.08.2010