jquery中函数里的$(this)为什么和$(e.target)不相等?
html中有个按钮:<buttonid="myBtn">我的按钮</button>$('#myBtn').click(function(e){console.log($(...
html中有个按钮:<button id="myBtn">我的按钮</button>
$('#myBtn').click(function(e){
console.log($(this));
console.log($(e.target));
console.log($(this)==$(e.target));
});
发现$(this)和$(e.target)在控制台打印的内容一模一样,但是,两者就是不相
等,很奇怪呀。为什么呢? 展开
$('#myBtn').click(function(e){
console.log($(this));
console.log($(e.target));
console.log($(this)==$(e.target));
});
发现$(this)和$(e.target)在控制台打印的内容一模一样,但是,两者就是不相
等,很奇怪呀。为什么呢? 展开
2个回答
展开全部
因为你用了jq来构造两个对象, 所以你最后一步比较的时候, 哪怕是两个对象的内容一模一样, 结果也是不想等的, 对象的比较比较的是指针, 两个指针不一样所以是不想等的, 简单的说就是
var a = new Object();
var b = new Object();// 这两个对象看起来是一模一样的吧, 但是比较结果依然不想等
你直接比较 this == e.target 这样才能得出正确的结果
var a = new Object();
var b = new Object();// 这两个对象看起来是一模一样的吧, 但是比较结果依然不想等
你直接比较 this == e.target 这样才能得出正确的结果
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询