这里的this指的是什么
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | (function($) {var dragSrc;$(".box").each(function(index, ele) {$(ele).on("dragstart", function(event) {dragSrc = this;//这个this});});$("#container").on("drop", function(e) {e.preventDefault();$(this).removeClass("containerDrop");$(this).append($(dragSrc).find(".line").clone())}).on("dragover", function(e) {e.preventDefault();}).on("dragenter", function(e) {e.preventDefault();$(this).addClass("containerDrop");}).on("dragleave", function(e) {e.preventDefault();})})(jQuery) |
我理解的是这个this指代的就是每一个box,然后再赋值给dragSrc,为的是下面的container调用drop方法的时候,能够将box里面的.line的克隆内容放置进去,但是我觉得奇怪的就是,为啥不用dataTransfer也可以,我听视频讲将this赋值给dragSrc这种方法也是可以指代数据传递,相当于dataTransfer?我不太明白
25
收起
正在回答
4回答
this永远指向调用它的对象,谁调用它,它指向的就是谁,也可以在控制台里打印一下this,看它的值是什么。
祝学习愉快!
西岚Silan
2017-10-13 23:16:51
<ul id="card"> <li>招商信用卡</li> <li>交通信用卡</li> <li>中信储蓄卡</li> <li>建行储蓄卡</li> <li>蚂蚁花呗</li> <li>余额宝</li> <li>余额</li> </ul>
function getAll(e) {
return document.getElementsByTagName(e);
}
var myli = getAll("li");
for (var i = 0; i < myli.length; i++) {
myclick(i);
}
function myclick(i) {
this.onclick = function() {//为啥这个this 指向window对象
console.log(i);
}
}我把代码贴出来吧
HTML5&CSS3进阶与常用框架 2018
- 参与学习 315 人
- 提交作业 136 份
- 解答问题 626 个
如果你有H5、CSS3、JS基础,热爱前端并希望在前端应用方面不断进步,那就来吧,本路径为你带来的课程有HTML5进阶、CSS3进阶、JS面向对象、jQ基础、Less等,助你进一步提升前端开发技能
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星