Почти аналогичный вопрос:
on_event_handler: function(selector){
        document.body.addEventListener('click', function(e){
            //if()
            var RunBtn = document.querySelectorAll(selector);
            for(var i = 0, count = RunBtn.length; i < count; i++){
                if(RunBtn[i].addEventListener){
                    RunBtn[i].addEventListener('click', function(e){
                        alert(1);
                    }, false);
                }
                else if(RunBtn[i].attachEvent){
                    RunBtn[i].attachEvent('onclick', function(e){
                        alert(1);
                    });
                }
            }
        });
    }
Аналог метода .on в JQ, но нужно свой, только почему то окон alert(); каждый раз на одно больше. Как то может чистить очередь событий, пробовал removeEventListener, не помогает..подскажите плиз