鍍金池/ 問(wèn)答/Java  HTML/ 微信小程序data-自定義屬性取值。

微信小程序data-自定義屬性取值。

下圖是我的代碼,寫(xiě)了一個(gè)gotoDetails事件,打印 e 結(jié)果發(fā)現(xiàn)只帶出了本級(jí)標(biāo)簽data-定義的屬性值,子元素的沒(méi)帶出來(lái),但是在另一個(gè)頁(yè)面里面也有類似的寫(xiě)法帶出來(lái)了,不明白原因,求各路大神解答,謝謝啦?。。?br>clipboard.png

clipboard.png
clipboard.png
下面是另一個(gè)頁(yè)面的單選,radioChange1事件能帶出來(lái)data-name
clipboard.png
clipboard.png
由于沒(méi)找到微信小程序的標(biāo)簽,只能填了Javascript,望諒解

回答
編輯回答
嫑吢丕

首先我要說(shuō)下target和currentTarget的區(qū)別。
e.target是返回觸發(fā)事件的對(duì)象 e.currentTarget返回的是綁定事件的對(duì)象。
認(rèn)真看這段話:
通常情況下target和currentTarget是一致的,我們只要使用target即可,但有一種情況必須區(qū)分這兩者的關(guān)系,那就是在父子嵌套的關(guān)系中,父元素綁定了事件,單擊了子元素(根據(jù)事件流,在不阻止事件流的前提下他會(huì)傳遞至父元素,導(dǎo)致父元素的事件處理函數(shù)執(zhí)行),這時(shí)候currentTarget指向的是父元素,因?yàn)樗墙壎ㄊ录膶?duì)象,而target指向了子元素,因?yàn)樗怯|發(fā)事件的那個(gè)具體對(duì)象 。
在你的第一種情況中,可能觸發(fā)這個(gè)事件的并非是這個(gè)子元素。所以也就沒(méi)有返回你想要的那個(gè)target。
而在你的第二種情況中,可能恰巧觸發(fā)這個(gè)事件的就是含有data-name的這個(gè)text標(biāo)簽,所以也就返回了你想看到的那個(gè)target

2018年1月6日 06:48