Разобрался как он работает ! если в addEventListener вместо функции передать object то он начинает искать метод handleEvent. С помощью handleEvent можно легко навешивать кучу событий на 1 элемент .
Пример взят с
http://www.thecssninja.com/javascript/handleevent
var obj = {
init: function() {
document.getElementById("btn").addEventListener("click", this, false);
document.getElementById("btn").addEventListener("touchstart", this, false);
},
handleEvent: function(e) {
switch(e.type) {
case "click":
this.button();
break;
case "touchstart":
this.button();
break;
}
},
dude: "holla",
button: function() {
alert(this.dude);
}
};
obj.init();