问题:为什么在FF3.0下第一次拖动好使,第二次就不行了呢<div id="div" style="background: #666699;width: 300px;height: 200px;border: 0.2cm #CCCCFF solid;cursor: pointer;position:absolute;top: 100px;left:100px;" onmousedown="set(this, event, 1)" onmouseup="set(this, event, 0)" onmouseout="set(this, event, 0)" onmousemove="move(this, event)"></div><script>
var mouse_status = 0, W = 0, H = 0;function set(div, e, t){
var e = e || window.event;
mouse_status = t;
W = e.clientX - parseInt(div.style.left);
H = e.clientY - parseInt(div.style.top);
}function move(div, e){
var e = e || window.event;
if(mouse_status){
div.style.top = e.clientY - H + "px";
div.style.left = e.clientX - W + "px";
}
}
</script>
var mouse_status = 0, W = 0, H = 0;function set(div, e, t){
var e = e || window.event;
mouse_status = t;
W = e.clientX - parseInt(div.style.left);
H = e.clientY - parseInt(div.style.top);
}function move(div, e){
var e = e || window.event;
if(mouse_status){
div.style.top = e.clientY - H + "px";
div.style.left = e.clientX - W + "px";
}
}
</script>
走的是不是一样?
var e = e || window.event;
if(mouse_status){
window.getSelection&&window.getSelection().removeAllRanges();
div.style.top = e.clientY - H + "px";
div.style.left = e.clientX - W + "px";
}
}
当你第二次点击鼠标下去之后。mousedown执行了。但是,你松开鼠标之后,mouseup并没有执行。<html>
<head>
<title></title>
<script>
var mouse_status = 0, W = 0, H = 0;function set(div, e, t){
document.getElementById("t").innerHTML = document.getElementById("t").innerHTML + "<br />" + e.type;
var e = e || window.event;
mouse_status = t;
W = e.clientX - parseInt(div.style.left);
H = e.clientY - parseInt(div.style.top);
}function move(div, e){
var e = e || window.event;
if(mouse_status){
div.style.top = e.clientY - H + "px";
div.style.left = e.clientX - W + "px";
}
}
</script>
</head>
<body>
<div id="div" style="background: #666699;width: 300px;height: 200px;border: 0.2cm #CCCCFF solid;cursor: pointer;position:absolute;top: 100px;left:100px;" onmousedown="set(this, event, 1)" onmouseup="set(this, event, 0)" onmouseout="set(this, event, 0)" onmousemove="move(this, event)"></div>
<div id="t"></div></body>
</html>
你看下
要说为什么 我也拿不出官方的说明 只能猜测 没文字的时候选择 点击就回选中 释放的时候 div不释放选中(可以测试下 不一定要清空选中 阻止点击的默认行为也是可以的)