Цитата:
|
позже кнопок будет очеень много, и на каждую вешать свой слушатель и писать "свой" обработчик события будет накладно и неудобно, потому делал ставку именно на имена...
|
Это заблуждение.
Тут дело в том что это за кнопки
И тут важны 2 случая:
1. Действие каждой кнопки уникально, т.е. кнопки делают разные вещи.
Здесь их хоть
50 будет на экране - лучше создать
50 обработчиков
Просто потому что с if-ами дело ничем хорошим не кончится.
Если есть какие-то одинаковые куски кода - лучше вынести в другие функции и дёргать в обработчиках
Разные действия - разные функции - тупая логика. Зачем здесь приделывать if-ы к тем же разным действиям?
2. Каждой кнопке сопоставлено какое-то значение
Например, числовые кнопки в стандартном калькуляторе Windows (1,2,3,4,5,6,7,8,9,0)
Конечно, нажатие на всё эти кнопки обрабатывается одинаково и нам важно получить только цифру
Тогда да, делается 1(один) обработчик на 10 кнопок.
Как он получает нужную цифру? Путей несколько:
http://www.flasher.ru/forum/blog.php?b=239
И, заметьте, _большинство_ подходов к "передаче параметра" не поразумевают if-ы или свитчи. Т.е. обработчик просто берёт данные (в этом примере цифру) и делает с ними то, что нужно, не выясняя что за кнопка нажата.
P.S. А с event.currentTarget при текущем состоянии кода заработало?