實(shí)現(xiàn)一個(gè)js事件代理的模塊,幫助用戶快速實(shí)現(xiàn)事件代理。
function Proxy(agent, judgeFn, cb){
agent['onclick'] = function(evt){
var node = evt.target
function helper(node){
if(node === agent){
return
}
if(judgeFn(node)){
cb(node)
evt.stopPropagation()
}
helper(node.parentNode)
}
helper(node)
}
}
Proxy(ul, function(node){
return node.tagName === "LI"
}, function(node){
console.log(node.id)
})