Events object testing

Testing my Events object and how it handles, orders, updates and removes, custom attached events

by SmokeyPHP

HTML

<p>
			Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
			Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
			Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
			Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
		</p>
		<p>
			Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
			Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
			Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
			Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
		</p>

JavaScript

//Get collection of all paragraphs
var ps = document.getElementsByTagName('p');
//Add following event to all elements in this collection
Events.add(ps,'onclick',function() { console.log('clicked a paragraph'); },'paraclick');

var p1 = ps[0];
//Add an event to the first paragraph
Events.add(p1,'onclick',function() { console.log('clicked p1'); },'click p1');

var p2 = ps[1];
//Add multiple events to the second paragraph
Events.add(p2,'onclick',function() { console.log('clicked p2'); },'click p2');
//We can force an event handler to run before any previously created ones with the 5th (pos) parameter
Events.add(p2,'onclick',function() { console.log('clicked p2 #2'); },'click p22',0);
Events.add(p2,'onclick',function() { console.log('clicked p2 #3'); },'click p23');

//Change the onclick function attached to p2
Events.update(p2,'onclick','click p22',function() { console.log('foo'); });

//Remove the custom onclick function named "click p23" from p2
Events.remove(p2,'onclick','click p23');