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+'嗎?');
});
那是因為你在 button 裡面又放了另外的元素, 所以 e.target 會看你點到哪一個元素而改變。
最簡單的方式就是把 e.target 改成 e.currentTarget, 也就是你綁定事件的元素。