定义和用法

ondrag 事件在元素或者选取的文本被拖动时触发。

拖放是 HTML5 中非常常见的功能。 更多信息可以查看我们 HTML 教程中的 HTML5 拖放。

注意: 为了让元素可拖动,需要使用 HTML5 draggable 属性。

提示: 链接和图片默认是可拖动的,不需要 draggable 属性。

在拖放的过程中会触发以下事件:

    • 在拖动目标上触发事件 (源元素):

      • ondragstart - 用户开始拖动元素时触发
      • ondrag - 元素正在拖动时触发
      • ondragend - 用户完成元素拖动后触发
  • 释放目标时触发的事件:

    • ondragenter - 当被鼠标拖动的对象进入其容器范围内时触发此事件
    • ondragover - 当某被拖动的对象在另一对象容器范围内拖动时触发此事件
    • ondragleave - 当被鼠标拖动的对象离开其容器范围内时触发此事件
    • ondrop - 在一个拖动过程中,释放鼠标键时触发此事件

注意: 在拖动元素时,每隔 350 毫秒会触发 ondrag 事件。

<!DOCTYPE html>
<html lang="en">
<head>
<title>拖动事件</title>
<meta charset="utf-8">
<style>
.box{
width: 200px;
height: 100px;
border: 1px solid #c0a;
margin: 20px;
float: left;
}
</style>
</head>
<body>
<div class="box">
<p id="p"
draggable="true"
ondragstart="dragStart(event)"
ondrag="drag(event)"
ondragend="dragEnd(event)"
>
要拖动的内容</p>
</div>
<div class="box"
ondragenter="dragEnter(event)"
ondragleave="dragLeave(event)"
ondragover="dragOver(event)"
ondrop="drop(event)"
id="dropBox"
></div>
<script>
//event事件对象,事件绑定在谁身上就是谁
var log = console.log;
function dragStart(event){
//开始拖动时触发,事件对象是拖动元素本身
log(`dragStart`,event)
}
function drag(event){
//拖动中触发 ondrag事件每350毫秒触发一次
//log('drag',event)
}
function dragEnd(event){
//拖动结束时触发
log('dragEnd',event)
}
function dragEnter(event){
//拖动的元素进入放置的目标时触发, 事件对象是目标元素
log('dragEnter',event)
}
function dragLeave(event){
//离开时触发
log('dragLeave',event)
}
function dragOver(event){
event.preventDefault();
//log('dragOver',event)
}
function drop(event){
event.preventDefault();
log('drop',event)
var p = document.querySelector('#p');
var dropBox = document.querySelector('#dropBox');
dropBox.appendChild(p)
}
</script>
</body>
</html>

最新文章

  1. 解决Mac下MX4手机无法连接adb问题之解决方案
  2. JS高程2.在HTML中使用Javascript(1)
  3. Windows8远程桌面CentOS 6.5
  4. aop郁闷错误
  5. 【转】GCC使用简介
  6. Android之Http网络编程(三)
  7. [NOIP1998]最大数
  8. Python 函数式编程学习
  9. 01 JVM 从入门到实战 | 什么是 JVM
  10. java锁与监视器概念 为什么wait、notify、notifyAll定义在Object中 多线程中篇(九)
  11. Go语言打造以太坊智能合约测试框架(level1)
  12. RTK与差分测量的区别
  13. Jmeter脚本录制方法(二)手工编写脚本(jmeter与fiddler结合使用)
  14. ScrollView fillViewport
  15. windows 开启热点的命令行工具
  16. (1.11)SQL优化——mysql提示(hint)
  17. jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法
  18. try cache
  19. 手游开发Android平台周边工具介绍
  20. Largest Rectangle in Histogram leetcode java

热门文章

  1. Jmeter-功能概要
  2. IIS之虚拟目录
  3. day28 rsync服务端配置和客户端
  4. 计蒜客 - A1603.天上的星星
  5. FireFox浏览器的about:config参数大全及其具体用途介绍
  6. xrdp---远程桌面连接
  7. CSS的长度单位
  8. pyodbc 向excel中读写数据
  9. Python列表和字典的简单实操例子
  10. css 动画开关按钮