楊__羊羊
2018-10-10 09:18:57
剛寫一個點擊事件用$(this)不行,換成$(e.target)就可以了,所以這兩個不一樣嗎?有什么區(qū)別呢?
1 回答

瀟瀟雨雨
TA貢獻1833條經(jīng)驗 獲得超4個贊
1.event.target與this的區(qū)別
event.target表示發(fā)生點擊事件的元素;
this表示的是注冊點擊事件的元素
this 等于 e.currentTarget
this是所有函數(shù)原生具有的.進入函數(shù)時,this已經(jīng)直接有了目標對象.
而e.target通過e再尋找target,中轉(zhuǎn)了一下。所以相比較而言,this的執(zhí)行效率更高些。
2 $(this.target)與$(this)比較的問題
有人會問為什么$(this.target)!=$(this)?
因為你用了jq來構(gòu)造兩個對象, 所以你最后一步比較的時候, 哪怕是兩個對象的內(nèi)容一模一樣, 結(jié)果也是不想等的, 對象的比較比較的是指針, 兩個指針
不一樣所以是不想等的, 簡單的說就是
var a = new Object();
var b = new Object();// 這兩個對象看起來是一模一樣的吧, 但是比較結(jié)果依然不想等
你直接比較 this == e.target 這樣才能得出正確的結(jié)果
添加回答
舉報
0/150
提交
取消