JS自定义拖拽setCapture
来源:互联网 发布:纪如璟和唐嫣 知乎 编辑:程序博客网 时间:2024/06/05 20:33
window.onload = function(){ var oDiv = document.getElementById("div1"); //获取DIV oDiv.onmousedown = function(ev){ var oEvent = ev || event; //IE 或 FF CH SA OP var oBox = document.createElement("div"); //创建一个DIV oBox.className = "box"; //给创建的DIV添加名为box的class document.body.appendChild(oBox); //添加到body oBox.style.width = this.offsetWidth - 2 + "px"; // 设置新创建的DIV的宽度 oBox.style.height = this.offsetHeight - 2 + "px"; // 设置新创建的DIV的高度 oBox.style.left = this.offsetLeft + "px"; // 设置新创建的DIV的左边移 oBox.style.top = this.offsetTop + "px"; // 设置新创建的DIV的上边移 mouX = oEvent.clientX - oDiv.offsetLeft; mouY = oEvent.clientY - oDiv.offsetTop; if(oDiv.setCapture){ this.onmousemove = mouseMove; this.onmouseup = mouseUp; this.setCapture(); //当前的DIV捕获事件,只有在IE中有效 }else{ document.onmousemove = mouseMove; document.onmouseup = mouseUp; }; function mouseMove(ev){ var oEvent = ev || event; var l = oEvent.clientX - mouX; var t = oEvent.clientY - mouY; if(l < 0){ l = 0; }else if( l > document.documentElement.clientWidth - oDiv.offsetWidth){ l = document.documentElement.clientWidth - oDiv.offsetWidth; } if(t < 0){ t = 0; }else if(t > document.documentElement.clientHeight - oDiv.offsetHeight){ t = document.documentElement.clientHeight - oDiv.offsetHeight; } oBox.style.left = l + "px"; oBox.style.top = t + "px"; } function mouseUp(){ oDiv.style.left = oBox.style.left; oDiv.style.top = oBox.style.top; document.body.removeChild(oBox); this.onmousemove = null; this.onmouseup = null; if(this.releaseCapture){ this.releaseCapture(); } } return false; }; };
我的小站:爆笑家园
0 0
- JS自定义拖拽setCapture
- JS拖动技术--- 关于setCapture
- JS拖动技术--- 关于setCapture
- SetCapture
- SetCapture
- SetCapture
- SetCapture
- SetCapture
- setCapture和releaseCapture的小应用鼠标拖拽事件
- JS高级拖动技术 setCapture,releaseCapture
- JS 区域外事件捕捉setCapture
- javascript基础(鼠标事件拖拽,setCapture()方法)(三十六)
- js中call,apply,setCapture,releaseCapture的使用
- SetCapture 函数
- SetCapture用法
- SetCapture Function
- setCapture 使用方法
- SetCapture SetFocus
- dede调用文章内第一张图
- VS2010/MFC 入门编程四(OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别)
- [好用]js确认删除对话框(无论是a标签还是submit)
- ORA-01045: user lacks CREATE SESSION privilege; logon denied
- MYSQL中limit的用法
- JS自定义拖拽setCapture
- 2014-IT Manager的冬天
- 模拟row cache lock
- bzoj1192: [HNOI2006]鬼谷子的钱袋
- 42、实例 使用jQuery操作样式表
- 分享个人在调试Android的时候常用的几个logcat命令
- Sweet Snippet系列 之 TCP数据接收
- 43、实例 使用jQuery遍历文档树
- 视频虚拟驱动 ioctl 流程