в зависимости от того что находится в this,
месяц назад я тоже велосипедил, и переписал немного свой код(урывок) "под вас"
надеюсь вы розберетесь в моем говнокоде
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<a href="http://vk.com">1</a>
<a href="http://vk.com">2</a>
<a href="http://vk.com">3</a>
<a href="http://vk.com">4</a>
<script type="text/javascript">
(function() {
var Helper = function(elem) {
return new Helper.fn.init(elem);
};
Helper.fn = {
init: function(elem) {
elem = document.querySelectorAll(elem);
this[0] = elem;
return this;
},
on: function(event, func, param) {
for(var i = 0; i < this[0].length; i++){
addEvent(this[0][i], event, func, param);
}
}
};
//addEvent минифицировал что бы не маячило перед глазамы
function addEvent(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d||!1):a.attachEvent("on"+b,c);return!1};
Helper.fn.init.prototype = Helper.fn;
window.Helper = window.$$ = Helper;
})();
Helper('a').on('click', function(event){
console.log(this);
event.preventDefault();
});
</script>
</body>
</html>
UPD: все работает как ожидалось - переход на vk. com не происходит и в консоли логирует ссылку по которой кликнули
Все же чувствую зря я тогда на github не выложил свой говнокод.... месяц коту под хвост...
Зато есть практика