flag和jq on 的綁定多個對象和方法

jquery中函數裏的$(this)爲什麼和$(e.target)不相等?

//html中有個按鈕:
    <button id="myBtn">我的按鈕</button>
<script>
$('#myBtn').click(function(e){ 
    console.log($(this));
    console.log($(e.target));
    console.log($(this)==$(e.target)); 
}); 
</script>

//發現$(this)和$(e.target)
//在控制檯打印的內容一模一樣
//但是,兩者就是不相等

因爲用了jq來構造兩個對象, 所以你最後一步比較的時候, 哪怕是兩個對象的內容一模一樣, 結果也是不想等的, 對象的比較比較的是指針, 兩個指針不一樣所以是不想等的, 簡單的說就是

var a = new Object();
var b = new Object();

==這兩個對象看起來是一模一樣的吧, 但是比較結果依然不想等==

直接比較 this == e.target 這樣才能得出正確的結果==

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章