Решение CMS является лучшим решением. Обязательно обратите внимание, что вы можете получить лучшую производительность, если вы ссылаетесь на функцию или проверяете, что ее нужно запустить из строки, хранящейся в свойстве прототипа, установленном на базовом якоре / элементе, или декларативно на якоре / элементе. Используя это свойство, можно найти функцию, которую вы хотите вызвать, и вызывать из одной ветви решений, а не писать новую ветвь решений для каждой возможности. Если вы разбиваете или используете оператор с более чем одним или двумя случаями, вы должны начать это рассматривать, сегодня может быть хороший день для инверсии управления и стиля ввода кода.
Опять же, не используйте регистр, если вам нужно обработать несколько событий. Вместо этого используйте строковую композицию, чтобы построить путь к функции, которую нужно вызвать. Это требует добавления прототипа к вашим элементам "A", которые определяют значение по умолчанию и строку, которая будет составлена. Атрибут данных в элементе должен иметь возможность переопределить значение по умолчанию. По сути, мы просто хотим, чтобы сообщение и действие проходили по умолчанию и изменялись в разметке. Указанное действие должно быть опубликовано где-нибудь в виде API или другой доступной библиотечной функции и быть вызвано lib ['funName']. Просто дайте ему атрибут, не беспокойтесь об имени или идентификаторе. Прототип и атрибут будут полезны для отладки, потому что вам придется отсеивать.
Есть некоторые парни, работающие на клиентских маршрутизаторах, которые пытаются улучшить это.