N-ZOO / everycode

前端每日一练
163 stars 18 forks source link

[js]事件委托考察 #17

Open f2ebill opened 8 years ago

f2ebill commented 8 years ago
<ul>
  <li class='target'>
      <span>test</span>
 </li>
</ul>
VaJoy commented 8 years ago

挽尊

    var ul = document.querySelector('ul');
    ul.addEventListener('click', function (e) {
        var target = e.target,
            f = function (t) { console.log(t);
                var className = t.className;
                if (t.tagName === 'LI' && className && className.indexOf('target') >= 0) {
                    alert(t.innerHTML)
                } else if(t != ul) {
                    f(t.parentNode)
                }
            };
        f(target)
    }, false)
xifengxx commented 8 years ago

`var ul = document.querySelector('ul'); ul.addEventListener('click', function (e) { var target = e.target; (function(i){ var cln=i.className?i.className:' '; if(i.tagName==="LI" &&cln.indexOf('target')>=0){ alert(i.innerHTML); } })(target); }