Titanium Mobile の commonJS モジュールで作成したウィンドウに eventlistener を追加する際に、確かに愚かな問題があります。
つまり、次のコードを検討してください。
var SegmentListWindow = function(){
var window = S.ui.createWindow("Testwindow");
window.addEventListener("app:customListener", function(){ doSomething();});
return window;
}
exports.SegmentListWindow = SegmentListWindow;
ウィンドウは次を使用して適切に生成されます
var Window = require(".....").SegmentListWindow;
var win = new Window();
S.ui
アプリで標準ウィンドウを作成するための単純なヘルパー メソッドです。
しかし、イベントリスナーが呼び出されることはありません。試してみTi.App.fireEvent("app:customListener"),
ましたが、イベントはリスナーに届きません。Ti.App.addEventListener
を使用して追加する場合にのみ機能しglobal eventlistener
ます。
"instance"
おそらくその問題は、イベントリスナーをウィンドウに追加していないことだと思いますか? しかし、これを修正する方法は?event listener
アプリのどこかでウィンドウをインスタンス化するときに手動で追加したくありません。commonJS モジュールでこれを行うことはできませんか?