在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 給table上添加touch事件,如何知道點(diǎn)擊的是哪一個(gè)tr

給table上添加touch事件,如何知道點(diǎn)擊的是哪一個(gè)tr

如題,在給一個(gè)table上添加監(jiān)聽(tīng)touch操作時(shí),如何知道touch的是哪一行?

回答
編輯回答
離人歸

在每個(gè)tr上加一個(gè)值為下標(biāo)的自定義參數(shù),touch的時(shí)候查看當(dāng)前元素獲取這個(gè)參數(shù)即可!

2018年8月24日 05:19
編輯回答
枕邊人

綁定元素的時(shí)候不要綁定到table上,綁定到單元格也就是td上。發(fā)生點(diǎn)擊時(shí),以該元素為起點(diǎn),向上遍歷最近的父元素tr,獲取到tr的id即可。

2018年8月12日 17:59
編輯回答
囍槑

題主稍微改改,應(yīng)該差不多;

document.getElementsByTagName('table')[0].addEventListener('click', function() {
    let targetTagName = event.target.tagName.toLowerCase();
    let targetTr;

    if (targetTagName === 'td') {
        targetTr = event.target.parentNode;
    } else if (targetTagName === 'tr') {
        targetTr = event.target;
    }
    
    console.log([...targetTr.parentNode.children].indexOf(targetTr));
}, false);
2018年6月4日 03:06
編輯回答
我不懂
<table>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>
    </tr>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>
    </tr>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>
    </tr>
</table>

document.addEventListener( 'touchstart', touch, false );
function touch( e ){

let td = e.target.nodeName === 'TD' && e.target.cellIndex,
    tr = e.path[ 1 ].nodeName === 'TR' && e.path[ 1 ].sectionRowIndex;
    
console.log( tr, td );

}

2017年12月28日 14:36