listener
クラス: handle
イベント ソースにバインドされないイベント リスナーの作成
構文
eL = listener(hSource,EventName,callback)
eL = listener(hSource,PropertyName,EventName,callback)
説明
は、イベント eL = listener(hSource,EventName,callback)EventName のリスナーを作成します。ソース オブジェクト hSource でイベントがトリガーされると、コールバック関数 callback が呼び出されます。hSource が配列である場合、リスナーは hSource 配列のすべてのオブジェクトでの指定イベントに応答します。
は、事前定義プロパティ イベントのうちいずれかのリスナーを作成します。事前定義されたプロパティ イベントは 4 種類あります。eL = listener(hSource,PropertyName,EventName,callback)
| イベント名 | イベントが発生する時点 |
|---|---|
PreSet | プロパティの set アクセス メソッドを呼び出す前の、プロパティ値が設定される直前 |
PostSet | プロパティ値が設定された直後 |
PreGet | プロパティの get アクセス メソッドを呼び出す前の、プロパティ値のクエリが処理される直前 |
PostGet | プロパティ値がクエリに返された直後 |
入力引数
出力引数
例
ヒント
リスナーのライフサイクル
リスナーを削除するには、listener により返されるリスナー オブジェクトを削除します。たとえば、次のステートメントはハンドル クラスの delete メソッドを呼び出して、リスナーを削除します。
delete(el)
リスナー オブジェクトに対する delete の呼び出しにより、リスナーが破棄されるため、イベントが発生してもコールバック関数は実行されなくなります。
listener メソッドは、リスナーのライフサイクルをイベントのソースであるオブジェクトにバインドしません。イベント ソース オブジェクトの破棄は、リスナー オブジェクトのライフサイクルに影響しません。
listener メソッドを使用してソース オブジェクトから独立に作成したリスナーは、明示的に破棄しなければなりません。リスナー変数に対して handle delete メソッドを呼び出すと (delete(el) など)、リスナーが明示的に破棄されます。リスナーを含む変数の再定義やクリアで、その他に参照がない場合はリスナーを削除できます。リスナーのライフサイクルを、イベント ソース オブジェクトのライフサイクルにバインドするには、addlistener を使用します。
代替方法
MATLAB® でリスナーのライフ サイクルを管理するには、addlistener を使用します。
バージョン履歴
R2017b で導入