Каким образом обрабатывать события с клавиатуры, мыши и тачскрина?
Допустим, есть небольшая форма с полями для ввода, радио-кнопками, чекбоксами, дропдаунами и т.д.. Взаимодействовать с ней будут через клавиатуру, мышь или через тачскрин. Нужно привязать обработчики.
Как принято в среде программистов (в вашей компании, в соответствии с best practice, исходя из вашего горького опыта и т.д.) обрабатывать события с разных устройств ввода (клавиатуры ли, мыши ли, экрана мобильного устройства)?
Стоит ли делать для таких событий один обработчик, в теле которого будет проверяться тип события и предприниматься дальнейшие действия, или лучше делать для каждого типа событий свой обработчик? Для 'click' свой handleComponentClick, для 'keydown' свой handleComponentKeydown, для касания тачскрина свой и т.д.
Хочу сразу обратить внимание - если планируется использование клавиатуры, может потребоваться серьезное изменение структуры проекта ! Это связано с особенностями обработчика. Попробуйте реализовать на примере экрана юзера, с панелью в виде отдельного компонента, - одновременно обрабатывающих клавиатуру. В итоге - станет понятно какие ограничения накладывает обработка клавиатуры;