以前に新しいダーツライブラリに登録したイベントのリスナーを削除するにはどうすればよいですか?新しいライブラリでイベントリスナーを削除する
私は新しいライブラリでイベントをリッスンするためにこれを使用しています:
element.onMouseMove.listen
本の同等のバージョンは何ですか?
element.on.mouseMove.remove
以前に新しいダーツライブラリに登録したイベントのリスナーを削除するにはどうすればよいですか?新しいライブラリでイベントリスナーを削除する
私は新しいライブラリでイベントをリッスンするためにこれを使用しています:
element.onMouseMove.listen
本の同等のバージョンは何ですか?
element.on.mouseMove.remove
element.onMouseMove.listen(...)
は、StreamSubscriptionを返します。単にそのcancel()メソッドを呼び出してイベントの受信を停止してください。アレクサンドルの答えに加えて
、コード内の具体的な例は次のようになります。
import 'dart:html';
void main() {
var listener = (e) => print("Moved");
var element = query("#text");
var streamsub = element.onMouseMove.listen(listener); // <--- add the listener
var reverseText= (Event event) {
var text = query("#text").text;
var buffer = new StringBuffer();
for (int i = text.length - 1; i >= 0; i--) {
buffer.add(text[i]);
}
query("#text").text = buffer.toString();
streamsub.cancel(); // <---- stop listening
};
element
..text = "Click me!"
..onClick.listen(reverseText);
}
このプリントを使用すると、上にマウスを移動すると、「移動」「私をクリックしてください!」テキスト(標準的なダーツサンプルから)。クリックすると停止します。