How do you listen for a keyUp event in Dart?

2019-06-24 04:03发布

问题:

How do I listen or register for the keyUp event on a DOM element in Dart?

回答1:

Seems that this thread is slightly out-of-date. In the latest version of Dart, you can listen to key up events like this:

import 'dart:html';

main() {
  querySelector('#some-element').onKeyUp.listen((KeyboardEvent e) {
    print(e.keyCode);
  });
}


回答2:

To get the keyUp you need to:

  query('#anElement').on.keyUp.add((Event e) {

  });

If you want the equivalent to:

$(".multipleElements").keyUp(function(){....});

Then you must do:

query('.multipleElements').forEach((key, value){
    value.on.keyUp.add((Event e) {

    }
});

If you want to know which element was triggered then you need to cast the target to an element:

query('.multipleElements').forEach((key, value){
    value.on.keyUp.add((Event e) {
        Element target = e.currentTarget;
        ...
    }
});


标签: dart