私は jquery モバイルを使用してアプリケーションに取り組んでおり、RequireJS を使用してアプリケーションをモジュールにリファクタリングしています。タスクはほぼ完了しましたが、少し助けが必要な問題に遭遇しました。
スクリプト ファイル (jquery、jqm、ノックアウトなど) を手動で読み込んでおり、これらのライブラリを main.js ファイルの最初のシンとして定義しています。
(function(){
var root = this
define('jquery', [], function () { return root.jQuery; });
define('ko', [], function () { return root.ko; });
....
})();
次に、jquery モバイル プラグインをロードして、アプリケーションを起動します。
....
require([
'Scripts/lib/mobile/jquery.mobile-1.2.0'
], function () {
$(document).on('pageinit' function(){ alert('page init event triggere'); });
boot();
});
私の問題は、requirejsがイベントにアタッチするファクトリ関数を実行するまでに、「pageinit」イベントがすでにトリガーされていることです。後続の pageinit イベントは期待どおりにキャッチされますが、アプリが最初に読み込まれたときに最初のイベントがありません。イベントバインディングをrequireモジュールの外に移動すると、正常に動作します。これらのjqmイベントを登録して処理する方法はありますか?
前もって感謝します。