亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js事件委托,e.target的子元素如何觸發事件?

js事件委托,e.target的子元素如何觸發事件?

慕姐8265434 2018-11-22 18:15:20
實現點擊table內的td時,把td綁定的data反饋出來。<div class='wrapper'>    <table>        <thead>.......</thead>        <tbody>            <tr>                <td data-data='1'>1</td>                ....                <td data-data='2'><font color='red'>2</font></td>                ....            </tr>            ....        </tbody>    </table></div>table是動態生成的,把事件綁定到wrapper上,用target觸發標簽td的時候,因為有的td內部有font這個子元素,點擊到font元素的區域無法觸發。$wrapper = document.querySelector('.wrapper');$wrapper.addEventListener('click', function(e){    if(e.target.tagName.toLowerCase === 'td') {        console.log(e.target.dataset.data);    }},false);
查看完整描述

1 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

$wrapper = document.querySelector('.wrapper');

$wrapper.addEventListener('click', function(e) {

  for (var el = e.target; el !== e.currentTarget; el = el.parentElement) {

    if(el.tagName.toLowerCase() === 'td') {

        return console.log(el.dataset.data);

    }

  }

}, false);


查看完整回答
反對 回復 2018-12-11
  • 1 回答
  • 0 關注
  • 1064 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號