1.1 事件模型
事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。
有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台MM代为签收。现实当中,我们大都采用委托的方案(公司也不会容忍那么多员工站在门口就为了等快递)。前台MM收到快递后,她会判断收件人是谁,然后按照收件人的要求签收,甚至代为付款。这种方案还有一个优势,那就是即使公司里来了新员工(不管多少),前台MM也会在收到寄给新员工的快递后核实并代为签收。
这里其实还有2层意思的:
a) 现在委托前台的同事是可以代为签收的,即程序中的现有的dom节点是有事件的;
b) 新员工也是可以被前台MM代为签收的,即程序中新添加的dom节点也是有事件的。
1.2 jQuery事件委托示例代码
$(".result").on("click", ".del", function() {
$(this).addClass("deleted");
});