Remove event listener with the new library

后端 未结 2 1112
萌比男神i
萌比男神i 2021-01-18 05:42

How do i remove a listener for an event I\'ve previously registered to with the new dart library?

I\'m using this to listen for events with the new library:

2条回答
  •  长发绾君心
    2021-01-18 06:43

    In addition to Alexandre's answer, a concrete example in code would look like this:

    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);    
    }
    

    This prints "Moved" when you move the mouse over the "Click Me!" text (from the standard dart sample). When clicked, it stops.

提交回复
热议问题