като jquery, но чист js

Pavkatar

Registered
Здравейте, искам да направя същия ефект като в jquery:
Код:
$('a').click(function (){

});

Тоест да прихваща всички натиснати линкове да прави нещо и после да си продължава. Но без да се използва jquery тоест с чисто js.
Как трябва да стане това :idea:
 
Ето така:
Код:
// Cross browser метод за bind-ване на event
function listen(evnt, elem, func) {
	if (elem.addEventListener) // W3C DOM
		elem.addEventListener(evnt,func,false);
	else if (elem.attachEvent) { // IE DOM
		var r = elem.attachEvent("on"+evnt, func);
		return r;
	}
}

window.onload = function(){ // Изпълняваме кода след като е заредил DOM-а
	var a = document.getElementsByTagName('a'); // Взимаме всички линкове
	// Оптимизация за бързодействие
	// Така масива с линковете няма да се преброява наново
	// при всяко завъртане на цикъла!
	var l = a.length; 

	for (var i=0; i<l; i++) {

		// a[i] съдържа DOM обекта на линка
		listen('click', a[i], function(e){
			e.preventDefault(); // С това браузъра не пренасочва към href-а!
			this.innerHTML = 'woo';
		});
	}
};
Ако нещо не ти е ясно, питай :)
 

Back
Горе