当用户按下“Esc”键时关闭HTA

时间:2015-06-23 14:11:10

标签: vbscript hta onkeyup

我正在尝试捕获按键,以便在用户按下 Esc 键时关闭我的HTA。

我已经确认onKeyUp事件有效(我也捕获输入的长度),并且下面的示例也不起作用(通过添加未被触发的MsgBox)。

我在这里缺少什么?

Sub window_onKeyUp()

    If window.event.keyCode = 27 Then
        Call CloseHTA()
    End If

End Sub

2 个答案:

答案 0 :(得分:2)

这适合我。

<script language="VBScript">
    Sub TestKey()
        intKeyCode = Window.Event.Keycode
        If intKeyCode = 27 Then Window.Close
    End Sub
</script>

<body onkeyup="TestKey">
</body>

修改

或者,如果您想在Document_OnKeyUp()代码后添加代码,则可以使用<body>

<body>
</body>

<script language="VBScript">
    Sub Document_OnKeyUp()
        intKeyCode = Window.Event.Keycode
        If intKeyCode = 27 Then Window.Close
    End Sub
</script>

答案 1 :(得分:1)

您可以尝试这样:

<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>