开始巩固HTML的基础,然后就开始从HTML5开始学。

之所以比较重视这个拖放,是因为在找工作的时候,忘了是哪个公司了,有一个编程题涉及拖放。

一、涉及到的事件

虽然区分了拖动对象和容器盒子,但是,有的是两个都可以添加的,但是执行顺序有先后)

1.被拖动的对象

(1)ondragstart:源对象开始被拖动

(2)ondrag:源对象被拖动过程中(鼠标可能在移动也可能未移动)

(3)ondragend:源对象被拖动结束(虽然是被拖动对象的事件,但目标对象内也可以写,但会先执行被拖动对象的)

2.目标对象(放进去的框框)

(1)ondragenter:目标对象被源对象拖动着进入(也可以写在被拖动对象内,因为被移动对象在放入其他元素内之前也是一个元素,也可以被进入)

(2)ondragover:目标对象被源对象拖动着悬停在上方

(3)ondragleave:源对象拖动着离开了目标对象

(4)ondrop:源对象拖动着在目标对象上方释放/松手

二、我的代码

1.html

拖放(HTML5)

2.css

拖放(HTML5)

3.js

拖放(HTML5)

三、看下效果吧

1.一开始的效果

左边的红色大盒子为box1,右边绿色大盒子为box2,黑色框为box5。

拖放(HTML5)

2.box3进入box4

(这里说的进入,是指鼠标的位置,以鼠标的位置为准)

移动box3,当其进入box4时,可以看到下面先输出进入4,又输出离开3。也就是先执行ondragenter,后执行ondragleave.

拖放(HTML5)

3.box3穿过box4,后进入box2,但未进入box5

拖放(HTML5)

4.在box2范围内,非box5内松手

先执行被拖动对象的ondragend。

拖放(HTML5)

5.移动完box3,再移动box4,从下面进入box5

拖放(HTML5)

6.再将box3,放回box1

拖放(HTML5)

 

四、总结一下

1.要给被拖动对象设置 draggable="true"

2.给ondragstart事件设置

拖放(HTML5)

3.给ondragover事件设置

拖放(HTML5)

4.给ondrop事件设置

利用setDate和getDate来做数据的传递。

然后在这个事件中让容器盒子添加新元素。

拖放(HTML5)

五、补充

可以看下《HTML5--拖拽API(含超经典例子)》这篇文章,这篇文章的最后有涉及将文件拖拽到网页的内容。还没实践过,但觉得不错。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-12
  • 2021-12-12
  • 2021-12-12
  • 2022-01-17
  • 2022-12-23
猜你喜欢
  • 2021-12-12
  • 2021-08-09
  • 2022-01-23
  • 2021-12-15
  • 2022-12-23
相关资源
相似解决方案