老师 this和e.target
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript" src="./jquery.min.js"></script>
<style type="text/css">
#div1 {
width: 198px;
height: 150px;
padding: 10px;
border: 1px solid #aaaaaa;
display: inline-block;
margin: 100px
}
</style>
</head>
<body>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">
<p>请把小飞机拖放到这里</p>
</div>
<img id="drag1" src="http://img1.sycdn.imooc.com/climg//5b9603390001ffe202000100.png" draggable="true" ondragstart="drag(event)" />
<script type="text/javascript">
var os;
var drag=function(e){
os=$(e.target);
console.log(os);
}
var drop=function(e){
console.log(e.target);
$(e.target).append(os);
}
var allowDrop=function(e){
e.preventDefault();
}
</script>
</body>
</html>
老师 代码里e.target换成this就出错了是怎么回事
正在回答
经测试代码效果是正确的,没有问题。
如果把e.target更改为this,那么this的指向是不对的,如下:
这是this指向的是window对象,因为drag方法是全局函数,所以this指向的是window,如果想要指向图片,需要传参,如下:
在html中drag方法中多传入一个this参数,也就是把当前绑定的对象传入进去,在js中drag方法使用一个参数去接收即可。
自己修改测试下。祝学习愉快!
- 参与学习 人
- 提交作业 467 份
- 解答问题 4826 个
本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星