怎么获得鼠标的坐标? 50分!!!

laton 2008-06-27 11:31:24
页面上放了几个 ocx控件,
我想在点击某ocx控件的时候弹出菜单;
问题是现在不知菜单在那个位置弹出了:

var x = event.offsetX+10;
var y = event.offsetY+10;

似乎不行,提示错误。

是不是跟ocx没法接收鼠标事件有关?
该怎样获取鼠标的位置呢?
...全文
133 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
<OBJECT
id="Server"
classid="clsid:XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
>
</OBJECT>
<SCRIPT LANGUAGE="JavaScript" for="Server" event="OnConnect">
<!--
//这样就可以触发到方法了,但是只对应一个事件!
//-->
</SCRIPT>
  • 打赏
  • 举报
回复
必须在主线程中触发事件
laton 2008-06-27
  • 打赏
  • 举报
回复
注册了的,ocx控件接收不了鼠标事件,我只是通过其他途径获得是否点击了鼠标右键
然后再弹出菜单
  • 打赏
  • 举报
回复
ocx控件是否注册?
可以看看:http://www.mvps.org/vcfaq/com/1.htm
laton 2008-06-27
  • 打赏
  • 举报
回复
点击obj1区域没起作用
laton 2008-06-27
  • 打赏
  • 举报
回复
to:
zwl0219
我知道div捕获的鼠标事件是可以的。
但是activeX控件所在区域无法检测


<!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/html; charset=gb2312" />
<title>去吃饭了 </title>
</head>

<body>
<div style=" width:200px; height:300px; background:#CCCC66" onclick="ck()">在此区域中单击察看效果!我这里正常
<OBJECT id="obj1" classid=CLSID:C3938931-256A-42FA-83C1-C30CDB237A8D class="obj"></OBJECT>
</div>
<script language="javascript">
function ck()
{
var e= window.event;
eventW=e.offsetX;
eventH=e.offsetY;
alert(e)
alert(eventW)
}

</script>
</body>
</html>
YH_Random 2008-06-27
  • 打赏
  • 举报
回复
function test(e)
{
e=e || event;
alert(e.clientX+","+e.clientY);
}

document.onclick=function(event){test(event);};

咦~~~之前的代码被编码了。。。。。
zwl0219 2008-06-27
  • 打赏
  • 举报
回复
给你代码 你测试 我这里正常的 好了我去吃饭了

<!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/html; charset=gb2312" />
<title>去吃饭了</title>
</head>

<body>
<div style=" width:200px; height:300px; background:#CCCC66" onclick="ck()">在此区域中单击察看效果!我这里正常</div>
<script language="javascript">
function ck()
{
var e= window.event;
eventW=e.offsetX;
eventH=e.offsetY;
alert(e)
alert(eventW)
}

</script>
</body>
</html>
wzy_love_sly 2008-06-27
  • 打赏
  • 举报
回复
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script>

function move(){
document.getElementById('x').value = window.event.clientX + document.body.scrollLeft - document.body.clientLeft;
document.getElementById('y').value = window.event.clientY + document.body.scrollTop - document.body.clientTop;
}
document.onmousemove = move;
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="x" type="text" />
<input id="y" type="text" /></div>
</form>
</body>
</html>


ie only
laton 2008-06-27
  • 打赏
  • 举报
回复
to:
zwl0219

var e= window.event;
alert(e);

alert(e)为"null"
zwl0219 2008-06-27
  • 打赏
  • 举报
回复
刚才少粘贴代码了不好意思
如果是ie的话
var e= window.event;
eventW=e.offsetX;
eventH=e.offsetY;
你alert(e)看看可以么?
YH_Random 2008-06-27
  • 打赏
  • 举报
回复
function test(e)
{
e=e||event;
alert(e.clientX+","+e.clientY);
}

document.onclick=function(event){test(event);};
laton 2008-06-27
  • 打赏
  • 举报
回复
var x = e.offsetX;
var y = e.offsetY;
alert(x);

这样alert出来的是 "undefined" ,不是数字啊
laton 2008-06-27
  • 打赏
  • 举报
回复
用的是IE
laton 2008-06-27
  • 打赏
  • 举报
回复
var x = event.offsetX+10;
var y = event.offsetY+10;

提示: 错误,缺少对象。
好像是 event.offsetX 出问题,可能是由ocx无法接收event事件
zwl0219 2008-06-27
  • 打赏
  • 举报
回复
你用的什么浏览器
if(ie)
{
eventW=e.offsetX;
eventH=e.offsetY;
}
else if(ff)
{
eventW=e.clientX-e.target.offsetLeft;//target事件触发的对象
eventH=e.clientY-e.target.offsetTop;
}
我以前这么办的
你的错误是什么呢?

87,994

社区成员

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

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