// 两者在没有冒泡的情况下,是一样的值,但在用了事件委托的情况下,就不一样了,例如:
// DOM 结构

<ul id="ulT">
    <li class="item1">1</li>
    <li class="item2">2</li>
    <li class="item3">3</li>
    <li class="item4">4</li>
    <li class="item5">5</li>
</ul>

// 此时target和currentTarget是一样的 都是点击的li标签

var lis = document.querySelectorAll('li');
for(var i =0;i<lis.length;i++){
    lis[i].onclick= function (e) {
        console.log(e.target);  
        console.log(e.currentTarget);
    }
}

$('li').click(function (e) {
    console.log(e.target);
    console.log(e.currentTarget);
})

// 此时是不一样的

var ul = document.querySelector('ul');
ul.addEventListener('click', function (e) {
    console.log(e.target);  //当前的li
    console.log(e.currentTarget); //元素的ul
})


$('ul').click(function (e) {
    console.log(e.target);  //当前的li
    console.log(e.currentTarget); //元素的ul
})

ivyzhang
1.1k 声望261 粉丝

写啥呢?