基础JS原生拖拽
时间:2020-01-18
本文章向大家介绍基础JS原生拖拽,主要包括基础JS原生拖拽使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
window.onload=function(){ /* * 拖拽box1元素 * - 拖拽的流程 * 1.当鼠标在被拖拽元素上按下时,开始拖拽 onmousedown * 2.当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove * 3.当鼠标松开时,被拖拽元素固定在当前位置 onmouseup */ //获取box1 var box1=document.getElementById("box1"); var img=document.getElementById("img"); drag(box1); // drag(img); } function drag(obj){ obj.onmousedown=function(event){ //设置box1捕获所有鼠标按下的事件 /* * setCapture() * - 只有IE支持,但是在火狐中调用时不会报错, * 而如果使用chrome调用,会报错 */ /*if(box1.setCapture){ box1.setCapture(); }*/ obj.setCapture&&obj.setCapture(); event=event||window.event; //div的偏移量 鼠标.clentX - 元素.offsetLeft //div的偏移量 鼠标.clentY - 元素.offsetTop var ol=event.clientX-box1.offsetLeft; var ot=event.clientY-box1.offsetTop; document.onmousemove=function(event){ event=event||window.event; //div的偏移量 鼠标.clentX - 元素.offsetLeft //div的偏移量 鼠标.clentY - 元素.offsetTop var left=event.clientX-ol; var top=event.clientY-ot; obj.style.left=left+"px"; obj.style.top=top+"px"; } document.onmouseup=function(event){ document.onmousemove=null;//取消document的onmousemove事件 document.onmouseup=null;//取消document的onmouseup事件 obj.releaseCapture&&box1.releaseCapture();//当鼠标松开时,取消对事件的捕获 } return false; /* * 当我们拖拽一个网页中的内容时,浏览器会默认去搜索引擎中搜索内容, * 此时会导致拖拽功能的异常,这个是浏览器提供的默认行为, * 如果不希望发生这个行为,则可以通过return false来取消默认行为 * * 但是这招对IE8不起作用 需要使用setCapture */ } }
原文地址:https://www.cnblogs.com/lufei910/p/12209559.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python中logging.NullHandler 的使用教程
- Python中利用aiohttp制作异步爬虫及简单应用
- Linux内核设备驱动之系统调用笔记整理
- python3实现名片管理系统
- Linux IO多路复用之epoll网络编程
- 浅谈python在提示符下使用open打开文件失败的原因及解决方法
- Linux内核设备驱动之内核的调试技术笔记整理
- Python检查和同步本地时间(北京时间)的实现方法
- thinkPHP5.1框架使用SemanticUI实现分页功能示例
- python实现名片管理系统
- Python unittest 简单实现参数化的方法
- CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)
- php的instanceof和判断闭包Closure操作示例
- PHP中的自动加载操作实现方法详解
- python 实现语音聊天机器人的示例代码