кажется в этом вся соль
в ходе тестов обнаружил:
событие навешивается на бади (el) а пытается убрать после навешивания с target (сайдбара)
проблема: метод one как и полагал
@iKest итоговый рабочий вариант (надо будет убедиться что это работает в других кейсайх и почему авторы не юзали currentTarget)
one: function onetime(el, type, callback) {
el.addEventListener(type, function callee(e) {
// remove event
if (e.currentTarget && e.currentTarget === el) {
console.log('currentTarget will removelistener if equal with el', el, e.currentTarget)
e.currentTarget.removeEventListener(e.type, callee);
}
// call handler
return callback(e);
});
},