2013-09-07 2 views
0

Есть ли способ добавить (в хорошем смысле, я имею в виду, чтобы избежать нескольких определений слушателя), тот же обработчик событий для нескольких событий? т.е.Добавить тот же обработчик для нескольких событий в Dart?

element.on('event1 event2 event3').listen(handleEvents); 

EDIT: Я имею в виду также общие события, как focus, blur и т.д.

ответ

4

Вы можете сделать что-то вроде этого:

['event1', 'event2', 'event3'].forEach((event) => 
    element.on[event].listen(handleEvents)); 

В качестве альтернативы вы можете сделать:

[element.onBlur, element.onFocus].forEach((stream) => stream.listen(handleEvents)); 
+0

Это хорошо для пользовательских событий, но проблема в том, что если события являются общими, т.е. 'keyup',' blur' и т. д. может быть, что разные браузеры будут иметь для них разные имена. – bx2

+0

Вы должны попробовать этот код ... Он работает даже для 'keyup',' blur' и т. д. –

Смежные вопросы