拖拽原理
2017-05-26 14:29
78 查看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>拖拽原理</title> <style> #div1{ width:100px; height:100px; background:red; position:absolute; } </style> <script type="text/javascript"> window.onload = function(){ /* onmousedown:鼠标按下时触发 onmousemove:鼠标移动时触发 onmouseup:鼠标抬起时触发 */ var oDiv = document.getElementById("div1"); oDiv .onmousedown = function(ev){ var ev = ev||event; var disX = ev.clientX-this.offsetLeft; var disY = ev.clientY-this.offsetTop; if(oDiv.setCapture){ oDiv.setCapture(); } document.onmousemove= function(ev){ var ev = ev||event; oDiv.style.left= ev.clientX-disX+"px"; oDiv.style.top= ev.clientY-disY+"px"; } document.onmouseup = function(){ document.onmousemove = null; if(oDiv.releaseCapture){ oDiv.releaseCapture(); } } return false;//取消浏览器默认拖拽文字行为 } } /* obj.setCapture(); 设置全局捕获,当我们给一个元素设置全局捕获以后,那么这个元素就会
监听后续发生的所有事件,当有事件发生的时候,就会被当前设置全局捕获的元素所触发。 ie:有,并且有效果 ff:有,但是没效果 chrome:没有,会报错 obj.releaseCapture()释放全局捕获 */ /* 拖拽的时候,如果有文字被选中,会产生问题 原因:当鼠标按下的时候(按下时触发),如果页面中有文字被选中,那么会触发浏览器的默认拖拽文字行为。 解决: 标准:阻止默认行为 非标准ie:用全局捕获 拖拽图片有问题,解决办法同上 */ </script> </head> <body> 拖拽文字在此 <div id="div1"></div> </body> </html>
是
相关文章推荐
- Android4.0 Launcher拖拽原理分析(1)
- 音乐播放与进度拖拽原理
- Jquery拖拽原理
- 鼠标点击、拖拽、抬起三态检测virtools原理实现
- 拖拽效果的实现原理分析2
- javascript——拖拽原理小实例
- 页面拖拽的原理分析
- JQuery 实现简单拖拽原理
- Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
- Javascript 拖拽雏形——逐行分析代码,让你轻松了解拖拽的原理
- android 大图片拖拽并缩放实现原理
- Javascript 拖拽的一些高级的应用——逐行分析代码,让你轻松了解拖拽的原理
- Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
- Javascript 拖拽的一些简单的应用——逐行分析代码,让你轻松了解拖拽的原理
- 可拖拽窗口最简实现原理
- Android4.0 Launcher拖拽原理分析(一)
- 拖拽效果实现原理
- JavaScript中的拖拽及捕获原理
- Vue通过操作Dom元素 实现 拖拽文件到网页进行文件上传【JS/JQ 原理也是一样的】