0

私はjqtouchに組み込まれたiphoneWebアプリを持っています。コンテンツがリンク(「a」タグ)によってロードされると、次のページのコンテンツはjqtouchによって解析され、リンクが初期化されます。ただし、AJAX呼び出しを介してコンテンツをロードし、append()それを要素にロードすると、そのコンテンツ内のリンクはjqtouchによって初期化されません。したがって、これらのリンクのクリックは、新しいリソースへの本格的なクリックであり、jqtouchによって処理されないため、その時点で、jqtouchから効果的に抜け出しました。

私のAJAXコードは次のとおりです。

#data
<script type="text/javascript">
      $.ajax({
        url: '/mobile/nearby-accounts',
        type: 'GET',
        dataType: 'html',
        data: {lat: lat, lng: lng},
        success: function(html) {
          $('#data').empty().append(html);
          // Is there some method I call on jqtouch to have any links in $('#data') be hooked up to the jqtouch lifecycle?
        }
</script>

前もって感謝します。

4

3 に答える 3

0

私は2つのことをすることによってこれを達成することができました:

1)jqtouch.jsを変更し、返されたメソッドのリスト(jqtouch.jsの最後)にliveTapを追加して、以前のプライベートメソッド「liveTap」をパブリックとしてエクスポートします。

publicObj {getOrientation:getOrientation,goBack:goBack,goTo:goTo,
 addAnimation:addAnimation,submitForm:submitForm, liveTap:liveTap};
return publicObj;

2)jqTouchに「接続」したいリンクがあるラップされたコンテナーでliveTapハンドラーを呼び出します。

      $('#data a').click(function(e) {
        e.preventDefault();
        jqTouch.liveTap(e);            
      });
于 2010-06-02T04:34:15.390 に答える
0

次のことを行うと、私にとってはうまくいき、ソースを変更する必要はありませんでした。

jQT.goTo('#slide', 'slide');

ここで、#slideはスライド先のパネルのIDです。

于 2010-08-11T04:16:56.113 に答える
0

@Codyのソリューションは機能しますが、元のページにコンテナdivを追加して、非同期でデータを入力してアニメーション化することをお勧めします。例:main.htmlに次を追加します。

... <div id="future"></div> ...

次に、追加スクリプトで次を追加します。

$('selector')。append('<ahref ='#future">リンク</a>')。find(' a')。click(function(e){
  e.preventDefault();
  loadDataAndShow($(this)。<ここでコンテキストを読む>);
});

関数loadDataAndShow(){
   // $ .getJSONなどのajaxを使用して、ここにデータをロードします

   // $('#future')にデータを入力してから

   jQT.goTo('#future'、'slide');
}

次に、jQTouchコンテナをロードするスクリプトからリンクを追加する際の問題は、非表示のメソッドを公開する必要があり、それでも100%ではないことです。また、提案を行う場合は、appendメソッドを分解して、最初に「.click」を使用せずにループで追加を実行し、次に単一のjQueryコマンドを使用してクリックリスナーを追加できます。上記のコンテキストをロードするために、に属性を追加できます/追加する必要があります。

@emtrane:質問は、ajaxがリンク内の追加コンテンツをロードするjQueryブロックをロードすることに関するものです。

于 2011-03-24T02:21:22.427 に答える