`
+* ``
+* ``
+* *document* root
+
+The last element to recieve the *click* event is *document*, this is where our `.live()` event is bound. `.live()` will then check to see if our selector `#list li` is the element that triggered the event, if so our event handler is executed.
+
+
+### [.live()](http://api.jquery.com/live/) w/ context (Deprecated)
+Introduced in jQuery v1.4
+
+Passing the *context* as a second optional argument to the `$()` function has been supported since v1.0. However support for using this *context* with the `$.live()` method was not added until v1.4.
+
+If we were take our previous `.live()` example and provide it the default *context*, it would look like:
+
+```
+$('#list li', document).live('click', function(event){
+ var $elem = $(this);
+ console.log( $elem.text() );
+});
+```
+
+Since we can override the *context* when using the `.live()` method, we can specify a *context* that is closer to the element in the DOM hierarchy
+
+```
+$('li', '#list').live('click', function(event){
+ var $elem = $(this);
+ console.log( $elem.text() );
+});
+```
+
+In this instance when an `
` is clicked the event still bubbles all the way up the *document tree* as it did before. However, our event handler is now bound to the parent `` tag, so we do not have to wait for the event to bubble all the way up to the *document* root.
+
+### [.delegate()](http://api.jquery.com/delegate/) (Deprecated)
+First introduced in jQuery v1.4.2
+
+The `.delegate()` method provides a clear difference between the *context* of where to attach delegated event handler, and the *selector* to match when the event bubbles up to the delegated element.
+
+```
+$('#list').delegate('li', 'click', function(event){
+ var $elem = $(this);
+ console.log( $elem.text() );
+});
+```
+
+### [.on()](http://api.jquery.com/on/)
+First introduced in jQuery v1.7
+
+The `on.()` method gives us a semantic approach for creating directly bound events as well as delegated events. It eliminates the need to use the deprecated`.bind()`, `.live()` and `.delegate()` methods, providing a single API for creating events.
+
+```
+$('#list').on('click', 'li', function(event){
+ var $elem = $(this);
+ console.log( $elem.text() );
+});
+```
+
+### Summary
+All of these ways of *event delegation* were innovative and considered a best practice at the time of their release. Depending on what version of jQuery you have implemented use the appropriate means of *event delegation*.
\ No newline at end of file