Поставленную проблему решил путем обьявления переменной obj, к которой присваиваю this дабы решить проблему потери контекста, глобальной переменно. Тогда работает всё корректно, не понимаю, почему так?
На ум приходит только, что при каждом клике на список в событии keydown обьекта document создаётся своя локальная obj и потом событие обьекта document применяется ко всем этим obj, а если обьявляю глобально, то она постоянно меняется и применяется лишь к одной? Это лишь мои догадки, знаний не хватает, может кто-нибудь обьяснить что там на самом деле и как? голова уже кипит