请教鼠标响应事件

loxl87 2006-07-20 11:25:44
我在窗口中画了一个层,为了让它能实现拖动,把鼠标的点击和移动事件都用了,当我在层里面再做一个提交表单的时候,这个表单的文本框和按钮都不再响应鼠标了,于是我用了当鼠标在文本框上或按钮上时获得焦点,但用起来始终觉得很别扭,不能用鼠标拖选文本框中的文字,按钮要双击才能响应。请教各位大哥,这个问题怎么解决呀?(图层我用了setCapture())
...全文
120 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
loxl87 2006-07-20
  • 打赏
  • 举报
回复
我在窗口中画了一个层,为了让它能实现拖动,把鼠标的点击和移动事件都用了,当我在层里面再做一个提交表单的时候,这个表单的文本框和按钮都不再响应鼠标了,于是我用了当鼠标在文本框上或按钮上时获得焦点,但用起来始终觉得很别扭,不能用鼠标拖选文本框中的文字,按钮要双击才能响应。请教各位大哥,这个问题怎么解决呀?(图层我用了setCapture())
ranranhu 2006-07-20
  • 打赏
  • 举报
回复
mark
xishanlang2001 2006-07-20
  • 打赏
  • 举报
回复
<html>
<script>
var moveObj = null ;
var justX ;
var justY ;
function Load()
{
document.body.attachEvent( "onmousedown" , bDown ) ;
document.body.attachEvent( "onmouseup" , bUp ) ;
document.body.attachEvent( "onmousemove" , bMove ) ;
}

function bDown()
{
if( event.srcElement.getAttribute( "dragFlag" ) != null )
{
moveObj = event.srcElement ;
}
}
function bUp()
{
moveObj = null ;
}
function bMove()
{
if( moveObj != null )
{

var difX = event.x - justX ;
var difY = event.y - justY ;
moveObj.style.top = parseInt( moveObj.style.top ) + difY ;
moveObj.style.left = parseInt( moveObj.style.left ) + difX ;
}
justX = event.x ;
justY = event.y ;
}
</script>
<body onload="Load()">
<div dragFlag=true style="position:absolute;left:168px;top:40px;width:110px;height:150px;z-index:100;border: 1px solid #000000;"></div>
<div dragFlag=true style="position:absolute;left:68px;top:240px;width:110px;height:150px;z-index:101;border: 1px solid #000000;"></div>
</body>
</html>


这是偶拖放怪的代码.
感觉里面attachEvent这个方法对楼主也许有帮助.

87,917

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧