主要要点:
1.拖拽3大事件onmousedown,onmousemove,onmouseup 2. 要拖动的物体需要设置成position:absolute,这样在拖拽时改变left和top值才有效 3. onmousemove和up事件应该加在document上 4. 鼠标抬起的时候,清除onmousemove和up事件 需要清楚上面途中一些变量的意思 完整测试代码: 1. 浏览器会有一些默认的行为,会造成拖拽产生bug,所以需要在最后通过return false,阻止浏览器默认行为 IE8之前版本,选中一些元素之后再进行拖拽,会出现禁止拖拽图标这样的小bug
1.拖拽3大事件onmousedown,onmousemove,onmouseup
2. 要拖动的物体需要设置成position:absolute,这样在拖拽时改变left和top值才有效
3. onmousemove和up事件应该加在document上
4. 鼠标抬起的时候,清除onmousemove和up事件
需要清楚上面途中一些变量的意思
完整测试代码:
1. 浏览器会有一些默认的行为,会造成拖拽产生bug,所以需要在最后通过return false,阻止浏览器默认行为 IE8之前版本,选中一些元素之后再进行拖拽,会出现禁止拖拽图标这样的小bug
IE8之前版本,选中一些元素之后再进行拖拽,会出现禁止拖拽图标这样的小bug
需要在拖拽时利用setCapture生成一个透明的层 在鼠标抬起后再用releaseCapture释放这个层
需要在拖拽时利用setCapture生成一个透明的层
在鼠标抬起后再用releaseCapture释放这个层
JS-拖拽(基本原理实现)