You can hang on the container
mouseup
event, it also works for children. And then check the event target
for this event:
function addEvent(element, eventType, handler){ if(element.addEventListener) element.addEventListener(eventType, handler); else element.attachEvent(eventType, handler); } var c = document.getElementById('container'); addEvent(c, 'mouseup', function(e) { if(e.target.tagName.toLowerCase() == 'article') { e.target.style.backgroundColor = 'red' } });
Demo: http://jsfiddle.net/YABB9/1/
UPDATE: Apparently, you can directly hang click
: http://jsfiddle.net/YABB9/3/