在拖动目标元素的时候,首先触发了mousedown事件,然后再触发mousemove事件,那么如何判断它触发了呢?是直接
document.onmousemove=function(){
test=1;//修改状态
}
然后判断test值来触发mousemove事件?可是我总觉得这样子不太优雅,我想问一下有类似经验的大神,你们是如何处理这里的鼠标状态的判断的?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
<!DOCTYPE html>
<html>
<head lang="en">
</head>
<body>
</body>
</html>
根据id获取页面元素
@param id
@returns {HTMLElement}
*/
function $(id) {
}
/**
创建可拖拽对象的工厂方法
*/
function createDraggableObject() {
}
百度的
我记得我大半个月前回答另一个问题的时候还写过一个demo
传送门
然后,点击看demo的代码和效果
http://jsfiddle.net/7ra1tgct/1/
楼上说的ondrag确实不错,值得推荐,但有时如果要考虑兼容性就不行了哦
把mousemove 函数mouseup函数写在mousedown里面,这样自由鼠标按下后才能触发nousemove,也能检测鼠标抬起
onmousedown之后,给body添加mousemove事件,然后根据坐标调整移动的元素,指定元素mouseup之后,删除body的mousemove事件,这是我之前写的时候的思路
<!DOCTYPE html>
<html>
</html>