第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何為表格單元格的內(nèi)部 html 創(chuàng)建 OnClick 事件

如何為表格單元格的內(nèi)部 html 創(chuàng)建 OnClick 事件

不負(fù)相思意 2021-12-12 15:42:09
我想使用 JavaScript 使表格單元格中的文本觸發(fā) onclick 函數(shù)。我能夠讓單元格本身觸發(fā) onClick 事件,但這不是我想要的。var table = document.getElementById(tableName);var row = table.insertRow(0);var cell1 = row.insertCell(0);cell1.innerHTML = "some text"//how do I make the text within the innerHTML trigger an onclick event?
查看完整描述

3 回答

?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊

表格單元格內(nèi)的實(shí)際文本不能綁定到這樣的事件偵聽器。如果表格單元格中的文本在另一個(gè)標(biāo)簽中(例如段落、跨度、div 或其他),那么您可以使用一個(gè)小技巧通過比較事件target和事件currentTarget屬性來測試哪個(gè)元素觸發(fā)了事件。


您可以單擊單元格中的任意位置,除非您單擊該段落,否則不會發(fā)生任何事情 - 此時(shí)target它將不再currentTarget與事件偵聽器中注冊的相同。據(jù)我所知,僅使用表格單元格中的原始文本無法做到這一點(diǎn) - 最終你為什么需要這樣做?


<table id='banana' border=1 cellpadding='5px' cellspacing='2px'>

    <!-- content to follow -->

</table>



<script>


    const nl=String.fromCharCode(10);


    var id='banana';


    var table = document.getElementById( id );

    var row = table.insertRow(0);

    var cell = row.insertCell(0);

        cell.innerHTML = 'This is some basic text';


    var p=document.createElement('p');

        p.innerText='This is a Paragraph within the table cell';


        cell.appendChild( p )



    cell.addEventListener( 'click', function(e){

        if( e.target != e.currentTarget ) alert( [ 'target: '+e.target, 'currentTarget: '+e.currentTarget, 'text: '+e.target.innerText ].join( nl ) )

    });

</script>

繼之前關(guān)于在用戶選擇表格單元格中的文本時(shí)觸發(fā)事件的評論之后,您可以嘗試以下操作:


document.body.addEventListener('mouseup',(e)=>{

    alert( 'Text has been selected? '+ window.getSelection() )

});

正如我剛剛發(fā)現(xiàn)的那樣,有一個(gè)selectionchange事件可能會引起人們的興趣 - MDN 提供的更多信息


查看完整回答
反對 回復(fù) 2021-12-12
?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

將事件偵聽器添加到cell1.


cell1.addEventListener("click", function() {

    console.log(this.innerText);

})


查看完整回答
反對 回復(fù) 2021-12-12
?
一只甜甜圈

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊

對 onClick 事件使用 onclick


cell1.onclick = function () 

{

   console.log("onclick");

};

var table = document.getElementById("table");

var row = table.insertRow(0);

var cell1 = row.insertCell(0);


cell1.innerHTML = "some text"


cell1.onclick = function () 

{

   console.log("onclick");

};

<table id="table">

 </table>


查看完整回答
反對 回復(fù) 2021-12-12
  • 3 回答
  • 0 關(guān)注
  • 442 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號