2

JQM で動的ページ ジェネレーターを実行していますが、正しく動作させるのに苦労しています。

ユーザーがリンクをクリックすると、次のchangePageように呼び出しをインターセプトします。

  ...
  .on("pagebeforechange", function (e, data) {
    if (typeof data.toPage === "string") {
      init.parsePage(util.parseLink(data.toPage), true);
      e.preventDefault();
    }
  })

これは私のメソッドを呼び出し、parsePage新しいページを生成し、それを初期化して DOM に次のように追加します。

  $(document).enhanceWithin();
  $.mobile.initializePage();
  // go to the new page
  $.mobile.changePage("#" + config.id);

私の問題は、e.preventDefault()新しい changePage 呼び出しを使用すると、pagebeforechangeリスナーで再びキャッチされ、永久にループすることです。また、最初の changepage 呼び出しを妨げずにdata.toPageパラメーターを変更しようとしましたが、ページの組み立てに「時間がかかりすぎ」、ページが組み立てられるまで JQM を遅らせる方法がありません。

質問:
リスナーに「キャッチ」されていない新しいトランジションをトリガーするにはどうすればよいですか? すべての準備が整うまで JQM トランジションを遅らせるにはどうすればよいですか?

ありがとう!

4

1 に答える 1