Kod adalah seperti berikut:
$(function(){
$.ajax({
type:"GET",
url:"/msg",
success:function(data){
var html="";
for(var o of data){
html+=`
<tr>
<td>${o.mid}</td>
<td>${o.uname}</td>
<td>${o.content}</td>
<td>${o.pubtime}</td>
<td>
<a class="btn-del" href="${o.mid}">删除</a>
</th>
</tr>
`;
}
$("#tb1").html(html);
}
});
$("#tb1").on("click","a.btn-del",(e)=>{
e.preventDefault();
//var mid=this.getAttribute("href");
console.log(this);
});
});
Saya perlu mengikat peristiwa pemadaman kepada a.btn-del yang dijana oleh permintaan tak segerak, dan saya perlu mendapatkan nilai atribut herf bagi elemen yang sedang diklik ia boleh diperolehi melalui e.target; ini. Selepas console.log(ini), keluarkan #document.
Bukankah ini dalam proksi acara yang menunjuk kepada elemen yang sedang diklik? ?
Tukar (e)=> {} kepada berfungsi(e){} dan lihat.
Anda harus terlebih dahulu memahami mekanisme pengikatan ini.
Ini dalam fungsi anak panah menghala ke skop fungsi luar.
Berikut ialah beberapa cara untuk memanggil fungsi js:
JS bukan bahasa berorientasikan objek Berbanding dengan Java, sintaksnya agak pelik apabila ia berkaitan dengan pelaksanaan berorientasikan objek.
Jika fungsi dipanggil sebagai func(), nilai ini bergantung pada objek di mana fungsi dipanggil.
Apabila menetapkan fungsi panggil balik, jika parameter ini tidak diluluskan, ia adalah kaedah panggilan func().
Jika anda ingin memanggil kaedah jq, anda harus menggunakan $(this) untuk mewakili objek jq