2

Appcelerator Titaniumでは、関数呼び出しでイベントリスナーを使用することはできますか?

のようなもの

var coolManDool = function(){...};
coolManDool.addEventListener('what goes here?", function(){ ... } );

関数の特定のグループを、それらが何かを確実に実行できるようにラップできるようにしたいと思います。将来のコードは何かを行うことを拡張するかもしれません、そしてこれが制御される私のコードの中心的な場所を持つことは本当に素晴らしいでしょう。

4

1 に答える 1

5

どの関数にも eventListener を追加することはできませんが、関数内でイベントを発生させたり、関数をイベントのコールバックとして使用したりすることはできます。イベント リスナーは、イベントの処理に使用されます。あなたの場合、関数にイベントを追加したい場合は、Titanium でカスタム イベントを作成するだけです。たとえば、関数の呼び出し中に特定のアクションを実行したい場合は、次のように簡単に実行できます。

//Creating the custom event
window.addEventListener('myEvent', function(){
    alert('function called')
});

function foo(){
    //Some actions
    window.fireEvent('myEvent');
}

アプリケーション自体にイベントを追加することもできます (アプリケーション レベルのイベント)。アプリ レベルのイベントは、アプリに対してグローバルです。これらは、すべてのコンテキスト、機能スコープ、CommonJS モジュールなどでアクセスできます。それらを起動し、Ti.App モジュールを介してリッスンできます。

Ti.App.addEventListener('myAppEvent', function(){
    alert('Application level event get fired');
});
//Fire the event like
Ti.App.fireEvent('myAppEvent');

詳細については、Titanium でのイベント処理を参照してください。

于 2012-12-31T07:27:47.483 に答える