一.原生js

1、拖拽的流程动作

鼠标按下 触发onmousedown事件

鼠标移动 触发onmousemove事件

鼠标松开 触发onmouseup事件

2、注意事项:

要防止div移出可视框,要限制div移动的横纵坐标;

防止火狐的bug, 要在最后写上return false,阻止默认事件;

防止鼠标运动时移出div,所以要用document.onmousemove和document.onmouseup,不能用oDiv.onmousemove;

3、代码实现:

html:

可拖动div元素

js:

window.onload = function() {

var box = document.getElementById('box')

box.onmousedown = function(e) { //首先要获取鼠标相对于元素的位置

var disX = e.clientX - box.offsetLeft //clientX,Y鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标)

var disY = e.clientY - box.offsetTop //offsetLeft,top是元素相对父元素的偏移宽度

document.onmousemove = function(e) {

var l = e.clientX - disX

var t = e.clientY - disY

if(l < 0) { //防止div跑出可视框

l = 0;

} else if(l > document.documentElement.clientWidth - box.offsetWidth) {

l = document.documentElement.clientWidth - box.offsetWidth;

}

if(t < 0) {

t = 0;

} else if(t > document.documentElement.clientHeight - box.offsetHeight) {

t = document.documentElement.clientHeight - box.offsetHeight;

}

box.style.left = l + 'px';

box.style.top = t + 'px';

}

document.onmouseup = function() {

document.onmousemove = null;

document.onmouseup = null

}

return false

}

}

二.H5 drag和drop拖放

拖放是html5的标准,任何元素都能够拖放

html:

//设置元素可拖放

js:

function drag(ev) { //ondragstart拖动开始

ev.dataTransfer.setData("ok", ev.target.id); //设置元素属性

}

function allowDrop(ev) { //ondragover拖动结束

ev.preventDefault(); //默认不许放置,阻止默认

}

function drop(ev) { //ondrop放置

ev.preventDefault();

var data = ev.dataTransfer.getData("ok"); //加入元素

ev.target.appendChild(document.getElementById(data));

}

原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间

原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: /p>

原生js通过prottype写的一个简单拖拽

使用JS或jQuery模拟鼠标点击a标签事件代码

原文 使用JS或jQuery模拟鼠标点击a标签事件代码 这篇文章主要介绍了使用JS或jQuery模拟鼠标点击a标签事件代码,需要的朋友可以参考下

使用powershell&sol;vbs自动化模拟鼠标点击操作

今天想做windows上的自动化,所以才有了模拟鼠标点击的需求,先考虑用powershell实现: 首先先安装一个名为“WASP”免费可用的Powershell扩展程序,下载地址:http://was ...

JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)

前言:前天刚写了篇JS组件系列——Bootstrap Table 表格行拖拽,今天接到新的需要,需要在之前表格行拖拽的基础上能够同时拖拽选中的多行.博主用了半天时间研究了下,效果是出来了,但是感觉不尽 ...

react实现的点击拖拽元素效果

之前用vue做日程管理组件的时候,用到了点击拖拽的效果,即点击元素,鼠标移动到哪里,元素移动到哪里,鼠标松开,拖拽停止,现在在弄react,于是也在想实现这个效果,经过一番折腾,效果出来了,代码如下: ...

CSharpGL&lpar;21&rpar;用鼠标拾取、拖拽VBO图元内的点、线或本身

CSharpGL(21)用鼠标拾取.拖拽VBO图元内的点.线或本身 效果图 以最常见的三角形网格(用GL_TRIANGLES方式进行渲染)为例. 在拾取模式为GeometryType.Point时,你 ...

前端笔记之JavaScript(十一)event&amp&semi;BOM&amp&semi;鼠标&sol;盒子位置&amp&semi;拖拽&sol;滚轮

一.事件对象event 1.1 preventdefault()和returnValue阻止默认事件 通知浏览器不要执行与事件关联的默认动作. preventdefault()  支持Chrome等高 ...

WEBBROWSER中模拟鼠标点击&lpar;SendMessage&sol;PostMessage&rpar;

好久没有写文章,发一篇顶顶博客访问量.别人建议转一些比较好的代码也贴过来,但是我打算这里主要发自己原创的代码,所以么..流量该多少就多少吧... 回到主题,在webbrowser中点击某链接网上几乎都 ...

随机推荐

Java系统变量设置方式

近期碰到一个编码的问题,发现整个平台都是用的GB2312,因此导致webservice调用时有些字不能正常接受. 反编译中间件的源码如下: public static final String nod ...

node&period;js的ejs模版引擎

ejs版本是0.8.8,生成的views目录下面只有index.ejs and error.ejs,没有layout.ejs. D:\lianchuangfile\nodeDevelop\microb ...

&lpar;转&rpar;添加PROPAGATION&lowbar;REQUIRES&lowbar;NEW 事务没有产生作用

最近在做事务添加时  发现自己的事务没有新建,上网查到   仅用作收藏. 其二  注意  事务的注解  应该在 内层的事务上面 一.描述 Spring遇到嵌套事务时,当被嵌套的事务被定义为" ...

【接口时序】6、IIC总线的原理与Verilog实现

一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE .ChipScope 硬件平台: 1. FPG ...

java io系列05之 ObjectInputStream 和 ObjectOutputStream

本章,我们学习ObjectInputStream 和 ObjectOutputStream ObjectInputStream 和 ObjectOutputStream 介绍 ObjectInputS ...

spring配置jax-ws

在spring配置文件中新建bean(或者是在配置文件中添加bean),在该bean中添加指定的访问地址. @Bean public static SimpleJaxWsServiceExporter ...

linux shell 脚本攻略学习7---tr命令详解

tr命令详解 什么是tr命令?tr,translate的简写,translate的翻译: [trænsˈleit] vi. 翻译, 能被译出 vt. 翻译, 解释, 转化, 转变为, 调动 在这里用到 ...

C&num; string&lbrack;&rsqb;转List&lt&semi;string&gt&semi;

List ltProduct = new List(Product.Split('|'));

Html模拟鼠标移动,原生js及H5模拟鼠标点击拖拽相关推荐

  1. matlab 模拟心电图,使用原生js+canvas实现模拟心电图的实例

    从2015年2月转行进入IT行业,到现在也有将近两年的时间了,从最开始的java到现在的前端,前进的路上一直靠自己摸索,一路走到现在,前端大神是绝对谈不上的,最多算一只刚入门的菜鸟. 从最开始的懵懵懂 ...

  2. JS组件系列——Bootstrap Table 表格行拖拽

    JS组件系列--Bootstrap Table 表格行拖拽 原文:JS组件系列--Bootstrap Table 表格行拖拽 前言:之前一直在研究DDD相关知识,好久没更新JS系列文章了.这两天做了一 ...

  3. JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)

    原文:JS组件系列--Bootstrap Table 表格行拖拽(二:多行拖拽) 前言:前天刚写了篇JS组件系列--Bootstrap Table 表格行拖拽,今天接到新的需要,需要在之前表格行拖拽的 ...

  4. H5实现类似微信可拖拽左右吸边浮动按钮

    H5实现类似微信可拖拽左右吸边浮动按钮 背景 之前项目需求产品经理要求实现一个可以实时拖拽的按钮,刚好我们移动端H5用的调试工具vconsole也有类似功能,于是研究了一下vconsole里面具体实现 ...

  5. HTML5电子书翻页效果 代码特效+鼠标点击拖拽滑动翻页+点击书页内容放大+不支持中文

    介绍 源码名称:[HTML5电子书翻页效果]代码特效+鼠标点击拖拽滑动翻页+点击书页内容放大+不支持中文 源码大小:237KB 开发语言:PHP+Mysql 操作系统:Windows,Linux 源码 ...

  6. js 控制鼠标_原生js实现改变视频播放速率

    前言:前几天考研成绩刚刚出来,有人欢喜有人悲,不管结果怎么样,只要努力过,就不存在遗憾一说.大家都知道考研复习的时候会有大量的时间用来看教学视频,就比如说"张宇高数"等等.考研复习 ...

  7. java心电图_使用原生js+canvas实现模拟心电图

    从2016年2月转行进入IT行业,到现在也有将近两年的时间了,从最开始的java到现在的前端,前进的路上一直靠自己摸索,一路走到现在,前端大神是绝对谈不上的,最多算一只刚入门的菜鸟. 从最开始的懵懵懂 ...

  8. html动态跟随鼠标效果,使用JS实现气泡跟随鼠标移动的动画效果

    气泡跟随鼠标移动,并在每次点击时产生不同的变化 效果如下 简单的气泡效果 body{background-color:#000000;margin:0px;overflow:hidden} var c ...

  9. JS拖动事件(鼠标拖动事件)手指事件(PC移动端拖拽)

    写了好几次的PC端和移动端的拖拽效果了,每次都要重新查阅资料,现在做个总结记录,方便以后随时查阅 要想写拖拽事件,首先得了解三块知识点: PC的鼠标拖动事件 移动端的手指事件 能拿到被移动元素的高宽, ...

  10. vue js 可随意拖动盒子 以及禁止拖拽

    可拖动弹窗: 1.新建一个js,放置如下js代码 import Vue from 'vue'; //使用Vue.directive()定义一个全局指令 //1.参数一:指令的名称,定义时指令前面不需要 ...

最新文章

  1. 【笔记】重学前端-winter
  2. 对面向接口编程、按分层建项目的反思和新的分层结构思路
  3. 第一个 Mybatis 程序(CURD操作)
  4. 第一部分:基础知识(第一章)屏幕部分续
  5. 白话Elasticsearch65-最少master候选节点以及ES集群脑裂问题
  6. 【整理】ABAP 7.40新特性介绍(下)
  7. 03 | 事务隔离:为什么你改了我还看不见
  8. Angular里的style property binding的一个例子
  9. 更自由的阿里云API工具JCLI
  10. Java程序优化的一些最佳实践
  11. struts2从form取值的三种方式
  12. 一体化伺服电机与施耐德PLC TM241CEC24T在Canopen协议下的应用
  13. ORB_SLAM3系统框图
  14. Radware深度解读肆虐全球的WannaCry勒索攻击
  15. SpringBoot实现QQ邮箱发送功能
  16. 视频剖析-Video Timing
  17. python-cmd安装环境
  18. 英汉互译在线翻译器如何语音互译中英文
  19. [typescript] ERROR TS18003: No inputs were found in config file ‘tsconfig.json‘. Specified ‘include‘
  20. PDI(kettle) 阻塞数据直到步骤都完成、Blocking step组件用法及区别

热门文章

  1. Utils 前端随机生成id,中文姓名
  2. android 卡片消息,安卓QNotified 支持xml卡片QQ消息 - 陌路人博客
  3. LFLT1000 流量计密封性自动化测试系统
  4. 基础知识 | 贴片电阻快速扫盲
  5. 医惠护理系统服务器错误,医惠智能云随访系统
  6. 公司部门英文缩写简称大全(1)
  7. ERP原理与应用名词解释
  8. ESP 保姆级教程 疯狂传感器篇 —— 案例:ESP8266 + BME280 + 串口输出
  9. android 模板引擎,template.js模板引擎
  10. 为什么不使能中断,中断标志位也会被置一