请问个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 编辑 ]
#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>
<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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28