我正在使用 jquery mobile 开发一个应用程序,并且正在使用 RequireJS 将应用程序重构为模块。我几乎完成了任务,但遇到了一个我需要一点帮助的问题。
我正在手动加载我的脚本文件(jquery、jqm、knout 等)并将这些库定义为我的 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();
});
我的问题是'pageinit'事件已经在requirejs执行工厂函数时触发,该函数附加到事件中。随后的 pageinit 事件按预期捕获,但在应用程序首次加载时我错过了初始事件。如果我将事件绑定移出 require 模块,它可以正常工作。任何想法我如何注册和处理这些 jqm 事件?
提前致谢。