事件代理就是利用事件的冒泡特性,將事件綁定到外層元素上,而不是觸發事件的元素上。
可以減少綁定的事件數量,而且對于動態加載的內容來說,十分有利。
上面這樣寫有個不足,就是如果觸發事件的元素不是li,而是li的子元素時,上面的那個事件不會被觸發。
修改后
通過isParentOfTarget函數,判斷觸發事件的元素(即event.target),是不是我們需要委托的元素的子元素,如果是,則返回這個委托的元素,不是,就返回false。
最后,再利用call函數,將事件處理函數的this綁定到所需委托的元素上。