【发布时间】:2016-06-06 13:37:28
【问题描述】:
我希望能够在 HTA 窗口中不断实时更新鼠标位置。
我知道 Window.Event 仅在调用 DOM 事件时可用。所以有一个功能可以做到这一点
VBScript:
Function vbsUpdateMousePos()
Dim X,Y, MouseX, MouseY
Set MouseX=document.getElementById ("MouseX")
Set MouseY=document.getElementById ("MouseY")
X=Window.Event.ClientX
Y=Window.Event.ClientY
MouseX.value=X
MouseY.value=y
End Function
JScript:
function jsUpdateMousePos ()
{
var MouseX=document.getElementById ("MouseX");
var MouseY=document.getElementById ("MouseY");
var x=window.event.clientX;
var y=window.event.clientY;
MouseX.value=x;
MouseY.value=y;
}
如果我用 'OnClick' 或 'onDblClick' 调用这些函数中的任何一个都可以
<Body OnClick=jsUpdateMousePos OnDblClick=vbsUpdateMousePos>
但不是当我尝试创建间隔时。
VBScript:
setInterval "vbsUpdateMousePos",100
JScript:
setInterval ("jsUpdateMousePos",100);
因为没有调用 DOM 事件处理程序,所以需要一个对象“window.event”。
但我希望能够实时更新位置(有点像你在 MSPaint.exe 程序中得到的,光标位置显示在状态栏中。)
这可能吗?
这里是完整的演示:(注意为获得最佳效果,将此 sn-p 保存为 .HTA 文件。)
<html>
<head>
<title>Mucho Cursor Position Del Hogar Por Favor</title>
<HTA:APPLICATION
APPLICATIONNAME="Cursor Position"
ID="IDontKnow"
VERSION="6.9"/>
</head>
<script language="VBScript">
Function vbsUpdateMousePos()
Dim X,Y, MouseX,MouseY
Set MouseX=document.getElementById ("MouseX")
Set MouseY=document.getElementById ("MouseY")
X=Window.Event.ClientX
Y=Window.Event.ClientY
MouseX.value=X
MouseY.value=y
End Function
Sub vbsStartInterval
'Error Occurs when Trying this
setInterval "vbsUpdateMousePos",100
End Sub
</script>
<script language=JavaScript>
function jsUpdateMousePos ()
{
var MouseX=document.getElementById ("MouseX");
var MouseY=document.getElementById ("MouseY");
var x=window.event.clientX;
var y=window.event.clientY;
MouseX.value=x;
MouseY.value=y;
}
function jsStartInterval (){
//Error Occurs when trying this
setInterval ("jsUpdateMousePos",100);
}
</script>
<body onclick=jsUpdateMousePos ondblclick=vbsUpdateMousePos>
<center>
Click anywhere in this window to test JavaScript Update Cursor position<br>
Double Click anywhere in this window to test VBScript Update Cursor Position
<table>
<tr>
<td>
Mouse X:
</td>
<td>
<input id=MouseX type=text size=4>
</td>
</tr>
<tr>
<td>
Mouse Y:
</td>
<td>
<input id=MouseY type=text size=4>
</td>
</tr>
</table>
<button onclick=jsStartInterval title="start live updates of the cursor position">Start Interval (JavaScript)</button>
<button onclick=vbsStartInterval title="start live updates of the cursor position">Start Interval (VBScript)</button>
</center>
</body>
</html>
【问题讨论】:
标签: javascript jquery html vbscript hta