javascript - masalah penunjuk ini dalam pengikatan acara jquery
習慣沉默
習慣沉默 2017-06-26 10:57:25
0
4
769

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? ?

習慣沉默
習慣沉默

membalas semua(4)
巴扎黑

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:

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);
};
给我你的怀抱

Jika anda ingin memanggil kaedah jq, anda harus menggunakan $(this) untuk mewakili objek jq

扔个三星炸死你
获取href :

 this.hash 
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!