av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

javascript - jquery事件綁定中的this指向問題

瀏覽:92日期:2023-05-17 08:56:23

問題描述

代碼如下:

$(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 href='http://m.4tl426be.cn/wenda/${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);}); });

我需要給異步請求生成的a.btn-del綁定刪除事件,需要獲取當前點擊元素的herf屬性值;通過e.target可以或得;但是通過this,不可以。console.log(this)后 ,輸出#document.

難道事件代理中this不是指向當前點擊的元素嗎??

問題解答

回答1:

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

你應該先去了解下this的綁定機制。

箭頭函數中this是指向外層函數作用域。

回答2:

下面是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不是面向對象的語言,跟java比, 在實現面向對象上,語法上面是會有些奇怪。如果是以 func() 的方式調用函數, 則this的值取決于調用函數的是在哪個對象。在設置回調函數時,如果沒有傳this參數, 就是 func()的調用方式,一般的寫法應該是用另外一個變量來保存this的值, 通常變量名為self。

var self = this;XXXX.callback = function(){ console.log(self);};回答3:

如果要調用jq的方法,應該使用$(this)才代表的是jq對象

回答4:

獲取href : this.hash

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 中国黄色毛片视频 | 久久精品二区亚洲w码 | 久久91视频 | 久久麻豆精品 | 中文字幕亚洲一区 | 91精品国产欧美一区二区成人 | 欧美激情久久久 | 不卡一区二区三区四区 | 久久三区 | 国产亚洲精品精品国产亚洲综合 | 国内自拍偷拍一区 | jlzzxxxx18hd护士 | 欧美日韩成人影院 | 久久最新| 国产成人高清视频 | 天堂一区二区三区 | 国产日产欧产精品精品推荐蛮挑 | 亚洲精品一区国语对白 | 黄色一级免费观看 | 日韩免费视频一区二区 | 在线观看亚洲精品视频 | 亚洲视频一区二区三区 | 91中文字幕在线观看 | 国产在线视频一区二区 | 中文一区二区视频 | 国产精品久久久久久吹潮 | 99精品国自产在线 | 亚洲人成人一区二区在线观看 | 成人欧美一区二区三区黑人孕妇 | 亚洲精品国产综合区久久久久久久 | 精品国产乱码久久久 | 国产午夜精品久久 | 久久综合九色综合欧美狠狠 | 久久国产精品视频 | 国产一区影院 | 国产在线精品一区二区 | 欧美精品成人 | 日韩中文字幕 | 成人欧美一区二区三区在线观看 | 久久久久国产 | 欧美人妖网站 |