Rumah > Soal Jawab > teks badan
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? ?
巴扎黑2017-06-26 10:59:25
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.
曾经蜡笔没有小新2017-06-26 10:59:25
Berikut ialah beberapa cara untuk memanggil fungsi js:
var func = function(a,b){
console.log(this);
console.log(a + ' ' + b)
};
var self = 'test';
func(1,2); // this 是 window 对象, 因为此时调用函数的是window对象
func.call(self,1,2); // this是 字符串 'test'
func.apply(self,[1,2]); // this是 字符串 'test'
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().
var self = this;
XXXX.callback = function(){
console.log(self);
};
给我你的怀抱2017-06-26 10:59:25
Jika anda ingin memanggil kaedah jq, anda harus menggunakan $(this) untuk mewakili objek jq