Для правильного вопроса надо знать половину ответа
Всё решается гораздо проще. Используйте всплытие событий.
Вместо навешивания обработчика на каждый нужный элемент вешайте его на body и проверяйте источник события. Если источник - линк, то выполняйте необходимые действия. https://learn.javascript.ru/bubbling-and-capturing
Для правильного вопроса надо знать половину ответа
Как можно эти две функции сделать одной и повесить на событие input
Сделать это можно, но не нужно. Нужно сделать третью функцию, которая будет определять, какой из случаев произошёл, вызывать одну из двух имеющихся функций, получать от них данные и отображать их.