Vbscript 当用户按下';Esc&x27;钥匙
我试图捕捉按键,以便在用户按下Esc键时关闭HTA 我已确认Vbscript 当用户按下';Esc&x27;钥匙,vbscript,hta,onkeyup,Vbscript,Hta,Onkeyup,我试图捕捉按键,以便在用户按下Esc键时关闭HTA 我已确认onKeyUp事件有效(我还捕获了输入的长度),并且下面的示例不起作用(通过添加未触发的MsgBox) 我错过了什么 Sub window_onKeyUp() If window.event.keyCode = 27 Then Call CloseHTA() End If End Sub 这对我有用 <script language="VBScript"> Sub TestKey
onKeyUp
事件有效(我还捕获了输入的长度),并且下面的示例不起作用(通过添加未触发的MsgBox
)
我错过了什么
Sub window_onKeyUp()
If window.event.keyCode = 27 Then
Call CloseHTA()
End If
End Sub
这对我有用
<script language="VBScript">
Sub TestKey()
intKeyCode = Window.Event.Keycode
If intKeyCode = 27 Then Window.Close
End Sub
</script>
<body onkeyup="TestKey">
</body>
您可以这样尝试:
<html>
<script language="VBScript">
Sub TestKey()
intKeyCode = Window.Event.Keycode
If intKeyCode = 27 Then Call CloseHTA()
End Sub
Sub CloseHTA()
self.close
End Sub
</script>
<body onkeyup="TestKey">
</body>
</html>
子测试键()
intKeyCode=Window.Event.Keycode
如果intKeyCode=27,则调用CloseHTA()
端接头
分包协议()
自我封闭
端接头
谢谢,这确实有效,但这意味着我必须为这个函数包含一个单独的
块。是否无法在VBS中将其声明为事件?像window\u onLoad
和window\u onbeforeuload
这样的操作很好。为什么不直接将Sub TestKey()
添加到现有的脚本块中呢?我只是用这种方式展示它的完整性。我所有的块都在文档的页脚中。显示一个初始页面,然后代码运行它很神奇,因为我操纵了显示(显示/隐藏div、更改背景颜色等),所以必须在HTML之后声明此代码,否则它会失败。我明白了。是的,您可以改用Document\u OnKeyUp()
。我会更新我的答案。谢谢,太好了。我试过document.body\u onKeyUp()
(错误),还设置了一个对象Set docBody=doucment.body
,docBody\u onKeyUp()
(无效),但没有想到这个盲目简单的解决方案!你有两个结束标记。我明白你的意思,谢谢你花时间回答。
<html>
<script language="VBScript">
Sub TestKey()
intKeyCode = Window.Event.Keycode
If intKeyCode = 27 Then Call CloseHTA()
End Sub
Sub CloseHTA()
self.close
End Sub
</script>
<body onkeyup="TestKey">
</body>
</html>