我在类库中做了一个用户控件,这个控件要放在网页中,我想在控件中获取鼠标在控件里的位置,改怎么办?
补充:
我是做了两个控件,其中一个里边有label,另一个里边有datagridview。
我想在网页上实现,把label里边的内容拖到datagridview的cell中。这个该怎么办?
补充:
我是做了两个控件,其中一个里边有label,另一个里边有datagridview。
我想在网页上实现,把label里边的内容拖到datagridview的cell中。这个该怎么办?
ondrag
ondrop
来实现拖动使用event.x和event.y来获取鼠标位置,可以计算出拖到了哪个单元格
我觉得没必要考虑鼠标的位置
可以考虑 可以 IF MOUSEOVER CELL
然后判断LABLE的位置 如果符合要求 就加到CELL里
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>拖拽</title>
<style type="text/css">
body
{
margin:0px;
}#b
{
width:100px;
height:50px;
border:1px solid #666666;
background-color:#FFCCCC;
}#f
{
position:absolute;/*重要*/
width:100px;
height:50px;
border:1px solid #666666;
background-color:#CCCCCC;
}
</style>
</head><body><div id="b">拖到这儿</div>
<div id="f">拖这个东东</div><script type="text/javascript" language="javascript">
<!--
//获得物件对象
var b = document.getElementById("b");
var f = document.getElementById("f");//配置物件位置
var b_orgnX = 0;
var b_orgnY = 0;
var f_orgnX = 300;
var f_orgnY = 100;//设置物件位置
b.style.pixelLeft = b_orgnX;
b.style.pixelTop = b_orgnY;
f.style.pixelLeft = f_orgnX;
f.style.pixelTop = f_orgnY;//拖拽过程中相关变量
var draging = false; //是否处于拖拽中
var offsetX = 0; //X方向上偏移量
var offsetY = 0; //Y方向上偏移量//准备拖拽
function BeforeDrag()
{
draging = true;
offsetX = document.body.scrollLeft + event.clientX-f.style.pixelLeft;
offsetY = document.body.scrollTop + event.clientY-f.style.pixelTop;
}//拖拽中
function OnDrag()
{
if(!draging)
{
return;
}
//更新位置
f.style.pixelLeft = document.body.scrollLeft + event.clientX-offsetX;
f.style.pixelTop = document.body.scrollTop + event.clientY-offsetY;
}//结束拖拽
function EndDrag()
{
draging = false;
if (f.style.pixelLeft>=b.style.pixelLeft && f.style.pixelLeft<=(b.style.pixelLeft+b.offsetWidth) &&
f.style.pixelTop>=b.style.pixelTop && f.style.pixelTop<=(b.style.pixelTop+b.offsetHeight))
{
//拖拽块位于基块中,自动定位到基块位置
f.style.pixelLeft = b.style.pixelLeft;
f.style.pixelTop = b.style.pixelTop;
}
else
{
//拖拽块位于基块外,将拖拽块位置复原
f.style.pixelLeft = f_orgnX;
f.style.pixelTop = f_orgnY;
}
}f.onmousedown = BeforeDrag;
f.onmousemove = OnDrag;
f.onmouseup = EndDrag;
f.onmouseout = EndDrag;
//-->
</script>
</body></html>