国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Javascript – dieses Zeigeproblem bei der JQuery-Ereignisbindung
習(xí)慣沉默
習(xí)慣沉默 2017-06-26 10:57:25
0
4
892

Der Code lautet wie folgt:


$(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);
                });
            });

Ich muss das L?schereignis an a.btn-del binden, das durch die asynchrone Anfrage generiert wurde, und ich muss den herf-Attributwert des aktuell angeklickten Elements abrufen. Er kann jedoch nicht über e.target abgerufen werden Das. Geben Sie nach console.log(this) #document.

aus

Zeigt der Event-Proxy nicht auf das aktuell angeklickte Element? ?

習(xí)慣沉默
習(xí)慣沉默

Antworte allen(4)
巴扎黑

你把 (e)=> {} 改成 function(e){} 看看。

你應(yīng)該先去了解下this的綁定機(jī)制。

箭頭函數(shù)中this是指向外層函數(shù)作用域。

曾經(jīng)蠟筆沒(méi)有小新

下面是js函數(shù)調(diào)用的幾種方式:

var func = function(a,b){
    console.log(this); 
    console.log(a + ' ' + b)
};

var self = 'test';
func(1,2);   // this 是 window 對(duì)象, 因?yàn)榇藭r(shí)調(diào)用函數(shù)的是window對(duì)象
func.call(self,1,2);  // this是 字符串  'test'
func.apply(self,[1,2]); // this是 字符串  'test'

js不是面向?qū)ο蟮恼Z(yǔ)言,跟java比, 在實(shí)現(xiàn)面向?qū)ο笊?語(yǔ)法上面是會(huì)有些奇怪。
如果是以 func() 的方式調(diào)用函數(shù), 則this的值取決于調(diào)用函數(shù)的是在哪個(gè)對(duì)象。
在設(shè)置回調(diào)函數(shù)時(shí),如果沒(méi)有傳this參數(shù), 就是 func()的調(diào)用方式,一般的寫(xiě)法應(yīng)該是用另外一個(gè)變量來(lái)保存this的值, 通常變量名為self。

var self = this;
XXXX.callback = function(){
    console.log(self);
};
給我你的懷抱

如果要調(diào)用jq的方法,應(yīng)該使用$(this)才代表的是jq對(duì)象

扔個(gè)三星炸死你
獲取href :

 this.hash 
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage