这里的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 星