+ -
当前位置:首页 → 问答吧 → 请问个JS的事件问题,谢谢~

请问个JS的事件问题,谢谢~

时间:2010-05-31

来源:互联网

<style type="text/css">

#a{
border:solid 1px red;
width:50px;
height:50px;
position:absolute;
background-color:red;

}

</style>
</head>
<body>
<div id="a" onmousedown="handleMouseDown()" onmouseup="handleMouseUp()"></div>

<script type="text/javascript">

function handleMouseDown()
{

if(document.all)
{document.body.attachEvent("onmousemove",handleMouseMove)}
else
{document.body.addEventListener("mousemove",handleMouseMove,false)}

}

function handleMouseMove(oEvent)

{

var aa=document.getElementById("a")
aa.style.left=oEvent.clientX
aa.style.top=oEvent.clientY

}

function handleMouseUp()
{

if(document.all)
{document.body.detachEvent("onmousemove",handleMouseMove)}

else
{document.body.removeEventListener("mousemove",handleMouseMove,false)}

}

</script>
</body>

请问下为什么在div 上放开鼠标左键后,这个DIV还是会跟着鼠标移动?onmouseup="handleMouseUp()"为什么没有被执行呢?我想要的效果是鼠标能拖着DIV跑,当鼠标松开时,DIV就停止移动。

[ 本帖最后由 JSbeginner84 于 2010-5-31 13:26 编辑 ]

作者: JSbeginner84   发布时间: 2010-05-31

后来我自己调了下代码。这样在IE下就可以了。但自己都没反应过来这二段代码有什么区别。。高手帮看看阿。。

<style type="text/css">

#a{
border:solid 1px red;
width:50px;
height:50px;
position:absolute;
background-color:red;

}

</style>
</head>
<body>
<div id="a" onmousedown="handleMouseDown()"></div>

<script type="text/javascript">

function handleMouseDown()
{


document.body.attachEvent("onmousemove",handleMouseMove)
document.body.attachEvent("onmouseup",handleMouseUp)

}

function handleMouseUp()
{

document.body.detachEvent("onmousemove",handleMouseMove)
document.body.detachEvent("onmouseup",handleMouseUp)

}

function handleMouseMove(oEvent)

{

var aa=document.getElementById("a")
aa.style.left=oEvent.clientX
aa.style.top=oEvent.clientY

}

</script>

作者: JSbeginner84   发布时间: 2010-05-31

有谁能回答下为什么第一段代码中,在松开鼠标左键后,DIV还是会跟着鼠标跑吗?感谢!

作者: JSbeginner84   发布时间: 2010-05-31

相关阅读 更多

热门下载

更多