This is the fiddle : <http://jsfiddle.net/msjmss4c/5/>

Below is the code from Nicholas C. Zakas' book 'javascript for developer'.

I'm beginner in web programming and I think this function is fine. 

But its 'target' isn't contain its child nodes.

That's why below things happening. 

```
Works O : <a> <li id="target"> text </li> </a>

works X: <a> <li id="target"> <p> text </p> </li> </a>

```

So I want make the scope of target into contain its child nodes.

But I don't know how.

Below is the code.

Is any one here who can touch this code?

```
var Event = {
    add: function(element, type, handler) {
        if (element.addEventListener) {
            element.addEventListener(type, handler, false);
        } else if (element.attachEvent) {
            element.attachEvent("on" + type, handler);
        } else {
            element["on" + type] = handler;
        }
    },

    remove: function(element, type, handler) {
        if (element.removeEventListener) {
            element.removeEventListener(type, handler, false);
        } else if (element.detachEvent) {
            element.detachEvent("on" + type, handler);
        } else {
            element["on" + type] = null;
        }
    },

    getEvent: function(event) {
        return event ? event : window.event;
    },

    getTarget: function(event) {
        return event.target || event.srcElement;
    },

    preventDefault: function(event) {
        if (event.preventDefault) {
            event.preventDefault();
        } else {
            event.returnValue = false;
        }
    },

    stopPropagation: function(event) {
        if (event.stopPropagation) {
            event.stopPropagation();
        } else {
            event.cancelBubble = true;
        }
    }
}

```