我想把 "nnnnnnnnn" 托动到 12内。但是总是显示托动到一级分类.用了取消冒泡还是不行.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text ml; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<div>
<ul>
<li ondrag="OnDrag()" ondragenter="OnDragEnter()" ondragend="OnDragEnd()" style="border:1px solid #000">
<a>一级分类</a>
<ul>
<li ondrag="OnDrag()" ondragenter="OnDragEnter()" ondragend="OnDragEnd()"><a>11</a></li>
<li ondrag="OnDrag()" ondragenter="OnDragEnter()" ondragend="OnDragEnd()"><a>12</a></li>
<li ondrag="OnDrag()" ondragenter="OnDragEnter()" ondragend="OnDragEnd()"><a>13</a></li>
</ul>
</li>
</ul>
</div>
<div id="nnn">
<a href="#" ondrag="OnDrag()" ondragenter="OnDragEnter()" ondragend="OnDragEnd()">nnnnnnnnn</a>
</div>
<script>
var xx=new Object();
xx.FromObj=null;
xx.ToObj=null;
function OnDrag(event)
{
if (!event) event = window.event;
stopPropagation();
xx.FromObj=event.srcElement;
var XDistance = event.clientX - 81;
var YDistance = event.clientY;
document.getElementById("nnn").style.position = 'absolute';
document.getElementById("nnn").style.left = XDistance + "px";
document.getElementById("nnn").style.top = YDistance + "px";
}
function OnDragEnter(event)
{
if (!event) event = window.event;
xx.ToObj=event.srcElement;
alert(xx.ToObj.innerHTML);
xx.ToObj.style.borderBottom = "1px solid red";
}
function OnDragEnd(event)
{
if (!event) event = window.event;
stopPropagation();
if(xx.FromObj)
alert("源:"+xx.FromObj.innerHTML);
if(xx.ToObj)
alert("目标:"+xx.ToObj.innerHTML);
}
function stopPropagation(e)
{
e = e || event;
// 如果提供了事件对象,则这是一个非IE浏览器
if (e && e.stopPropagation)
e.stopPropagation(); // 因此它支持W3C的stopPropagation()方法
else
e.cancelBubble = true; // 否则,我们需要使用IE的方式来取消事件冒泡
return false;
};
</script>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text ml; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<div>
<ul>
<li ondrag="OnDrag()" ondragenter="OnDragEnter()" ondragend="OnDragEnd()" style="border:1px solid #000">
<a>一级分类</a>
<ul>
<li ondrag="OnDrag()" ondragenter="OnDragEnter()" ondragend="OnDragEnd()"><a>11</a></li>
<li ondrag="OnDrag()" ondragenter="OnDragEnter()" ondragend="OnDragEnd()"><a>12</a></li>
<li ondrag="OnDrag()" ondragenter="OnDragEnter()" ondragend="OnDragEnd()"><a>13</a></li>
</ul>
</li>
</ul>
</div>
<div id="nnn">
<a href="#" ondrag="OnDrag()" ondragenter="OnDragEnter()" ondragend="OnDragEnd()">nnnnnnnnn</a>
</div>
<script>
var xx=new Object();
xx.FromObj=null;
xx.ToObj=null;
function OnDrag(event)
{
if (!event) event = window.event;
stopPropagation();
xx.FromObj=event.srcElement;
var XDistance = event.clientX - 81;
var YDistance = event.clientY;
document.getElementById("nnn").style.position = 'absolute';
document.getElementById("nnn").style.left = XDistance + "px";
document.getElementById("nnn").style.top = YDistance + "px";
}
function OnDragEnter(event)
{
if (!event) event = window.event;
xx.ToObj=event.srcElement;
alert(xx.ToObj.innerHTML);
xx.ToObj.style.borderBottom = "1px solid red";
}
function OnDragEnd(event)
{
if (!event) event = window.event;
stopPropagation();
if(xx.FromObj)
alert("源:"+xx.FromObj.innerHTML);
if(xx.ToObj)
alert("目标:"+xx.ToObj.innerHTML);
}
function stopPropagation(e)
{
e = e || event;
// 如果提供了事件对象,则这是一个非IE浏览器
if (e && e.stopPropagation)
e.stopPropagation(); // 因此它支持W3C的stopPropagation()方法
else
e.cancelBubble = true; // 否则,我们需要使用IE的方式来取消事件冒泡
return false;
};
</script>
</body>
</html>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货