Skip to content

Instantly share code, notes, and snippets.

@rik
Forked from greut/event_delegation.html
Created November 26, 2008 14:06
Show Gist options
  • Save rik/29392 to your computer and use it in GitHub Desktop.
Save rik/29392 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html>
<head><title>Event delegation</title></head>
<body>
<ul>
<li><a href="#a"><span>a</span></a></li>
<li><a href="#b"><span><span>b</span></span></a></li>
<li><a href="#c"><span><span><span>c</span></span></span></a></li>
</ul>
<script>
document.getElementsByTagName("ul")[0].addEventListener("click", function(event) {
var root = event.currentTarget;
var node = event.target;
while (node != root) {
if (node.nodeName.toLowerCase() === "a") {
var target = node;
break;
}
node = node.parentNode;
}
if(!target)
return;
alert(target.getAttribute("href").substring(1));
event.stopPropagation();
event.preventDefault();
}, false);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment