这个解决了,但发现不能选中所添的内容了,是和层的拖动事件有冲突,怎么解决啊
fffff不能选中。
<html>
<head>
<title> New Document </title>
<style>
.drag{
width: 100px; height: 300px; border: 1px solid blue;
font:12px verdana;
position: absolute;
}
</style>
<script language="javascript" type="text/javascript">
<!--
var ie=document.all
var ns6=document.getElementById&&!document.allvar dragapproved=false
var z,x,yfunction move(e){
if (dragapproved){
z.style.left=ns6? temp1+e.clientX-x: temp1+event.clientX-x
z.style.top=ns6? temp2+e.clientY-y : temp2+event.clientY-y
return false
}
}function drags(e){
if (!ie&&!ns6)
return
var firedobj=ns6? e.target : event.srcElement
var topelement=ns6? "HTML" : "BODY"while (firedobj.tagName!=topelement&&firedobj.className!="drag"){
firedobj=ns6? firedobj.parentNode : firedobj.parentElement
}if (firedobj.className=="drag"){
dragapproved=true
z=firedobj
temp1=parseInt(z.style.left+0)
temp2=parseInt(z.style.top+0)
x=ns6? e.clientX: event.clientX
y=ns6? e.clientY: event.clientY
document.onmousemove=move
return false
}
}
document.onmousedown=drags
document.onmouseup=new Function("dragapproved=false")//-->
</script>
</head><body>
<div class="drag">
<div id="d">
<input type="text" value="fffff"/>
</div>
</div>
</body>
</html>
fffff不能选中。
<html>
<head>
<title> New Document </title>
<style>
.drag{
width: 100px; height: 300px; border: 1px solid blue;
font:12px verdana;
position: absolute;
}
</style>
<script language="javascript" type="text/javascript">
<!--
var ie=document.all
var ns6=document.getElementById&&!document.allvar dragapproved=false
var z,x,yfunction move(e){
if (dragapproved){
z.style.left=ns6? temp1+e.clientX-x: temp1+event.clientX-x
z.style.top=ns6? temp2+e.clientY-y : temp2+event.clientY-y
return false
}
}function drags(e){
if (!ie&&!ns6)
return
var firedobj=ns6? e.target : event.srcElement
var topelement=ns6? "HTML" : "BODY"while (firedobj.tagName!=topelement&&firedobj.className!="drag"){
firedobj=ns6? firedobj.parentNode : firedobj.parentElement
}if (firedobj.className=="drag"){
dragapproved=true
z=firedobj
temp1=parseInt(z.style.left+0)
temp2=parseInt(z.style.top+0)
x=ns6? e.clientX: event.clientX
y=ns6? e.clientY: event.clientY
document.onmousemove=move
return false
}
}
document.onmousedown=drags
document.onmouseup=new Function("dragapproved=false")//-->
</script>
</head><body>
<div class="drag">
<div id="d">
<input type="text" value="fffff"/>
</div>
</div>
</body>
</html>
你这个IE6测试没看出问题啊。。FF测试拖拽有问题。。OP测试全然没有效果。
drags函数里的return false去掉即可。
把return false去掉就可以了。。
我曾经写过一个纯洁的拖拽。。http://community.csdn.net/Expert/topic/5283/5283616.xml?temp=.2410395
这里的倒数第二次回复就是