dom事件代理

实现一个js事件代理的模块,帮助用户快速实现事件代理。

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)
    })

你可能感兴趣的:(dom事件代理)