以前に新しい dart ライブラリに登録したイベントのリスナーを削除するにはどうすればよいですか?
これを使用して、新しいライブラリでイベントをリッスンしています。
element.onMouseMove.listen
これと同等のバージョンは何ですか?
element.on.mouseMove.remove
以前に新しい dart ライブラリに登録したイベントのリスナーを削除するにはどうすればよいですか?
これを使用して、新しいライブラリでイベントをリッスンしています。
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);
}
「Click Me!」の上にマウスを移動すると、「Moved」と出力されます。テキスト (標準ダーツ サンプルから)。クリックすると止まります。