e.target和e.currenttarget的區別

// 二者在沒有冒泡的狀況下,是同樣的值,但在用了事件委託的狀況下,就不同了,例如:
// DOM 結構code

<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);
})

// 此時是不同的get

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
})
相關文章
相關標籤/搜索