Вместо использования on, вы не можете просто написать событие как оно есть?
Например:
$(document).ready(function () { });
$(document).click(function () { });
$(document).keyup(function () { });
$(document).keydown(function () { });
Не забудьте добавить события к объектам после загрузки DOM. Причина, если вы попытаетесь использовать селектор jQuery вне проверки готовности DOM, он может выполняться до того, как будет загружен фактический элемент, и тогда он ничего не найдет. Что не приведет к событиям.