jQuery事件委托和JS事件委托

jQuery事件委托没得说,直接用on的方式在事件类型参数的后边加一个真正触发事件的对象即可,同时jQuery提供专门写事件委托的方法delegate();接收第三个函数:第一个真正触发事件的对象,第二个事件类型,第三个回调函数

      $('table').degelate('td','hover',function(){

              $(this).toggleClass('hover');

        });

原生js事件委托

原生js事件委托通过e.target判断真正事件触发的对象来完成委托

               //   假象container 里有两个按钮 btn1 和 btn2

              var container = documnet.getElementByID('container');

               container.addEventListener('click',function(e){

              // 获取事件触发对象

               var target = e.target;

               if(target.id == 'btn1'){

                    alert('btn1');

              }else if(target.id == 'btn2'){

                        alert('btn2');

            }

          });

你可能感兴趣的:(jQuery事件委托和JS事件委托)