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 這樣才能得出正確的結果==
以上這篇flag和jq on 的綁訂多個物件和方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持PHP中文網。
更多flag和jq on 的綁定多個物件和方法相關文章請關注PHP中文網!