iT邦幫忙

0

js的data-語法出現 undefined因為icon?

http://ithelp.ithome.com.tw/questions/10184049 感謝weiclin大大解釋js data-用法

我現在遇到的問題是
假設

 <button class="n2 remove_timeline" data-timelineid="<? echo $row['timeline_id'];?>">刪除</button>

你的按紐只能夠是文字
如果把它變成 delete_forever (google的icon API)

 <button class="remove" data-timelineid="<? echo $row['timeline_id'];?>"> <i class="timeline_icon">delete_forever</i></button>

他就會undefined......完全失效.....
這是怎麼回事啊?...
這怎麼解?傻眼
我想說怎麼會一直undefined 找老半天原來是這個原因

 $(".remove").click(function(e){
       let id = e.target.dataset.timelineid;
       alert('刪除'+id+'嗎?');
							
       });

1 個回答

3
weiclin
iT邦高手 6 級 ‧ 2016-09-09 20:48:20
最佳解答

那是因為你在 button 裡面又放了另外的元素, 所以 e.target 會看你點到哪一個元素而改變。

最簡單的方式就是把 e.target 改成 e.currentTarget, 也就是你綁定事件的元素。

範例: https://jsfiddle.net/mbqkchhu/3/

我要發表回答

立即登入回答