jquery中动态事件添加就是用的事件委托,在处理事件中,事件委托是非常高效的事件监听方法
receiver:监听者
typeEvent:监听事件
sender:被监听者
func:事件处理函数
//事件委托function delegate(receiver,typeEvent,sender,func){ EventUtil.addHandler(receiver,typeEvent,function(event){ event=EventUtil.getEvent(event); var target=EventUtil.getTarget(event); if(target==receiver){ return null; } var current=target; var yes=false; do{ if(judge(target)){ yes=true; var sendElem=target; break; }{ var parent=target.parentNode; target=parent; } }while(parent!=receiver); if(yes){ func(receiver,sendElem,current); } }); function judge(elem){ var yes=true; for(var i in sender){ if(elem[i]!=sender[i]){ yes=false; } } return yes; }}事件委托是非常高效的事件监听方法