【发布时间】:2015-05-04 08:41:20
【问题描述】:
在我的 HTA 文件中,我使用 VBScript 来更改单击按钮时的外观。单击的按钮获得虚线边框(如预期的那样)。但是当鼠标离开按钮时,虚线边框变为实线边框加上实心青色内边框。我怎样才能防止这种情况发生?
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>Dashed border test</title>
<HTA:APPLICATION
ID = "test"
APPLICATIONNAME = "test" >
<script language="VBScript" type="text/vbscript">
Sub StopButton
document.getElementsByTagName("button").item(0).style.border="dashed medium black"
document.getElementsByTagName("button").item(1).style.border="none"
End Sub
Sub PlayButton
document.getElementsByTagName("button").item(1).style.border="dashed medium black"
document.getElementsByTagName("button").item(0).style.border="none"
End Sub
</script>
<style type="text/css">
button {width:100;height:80;font-size:24;}
</style>
</head>
<body>
<button type="button" onclick="vbscript:StopButton" style="background:blue; color:white;" value="Stop">Stop</button>
<button type="button" onclick="vbscript:PlayButton" style="background:#0f0;" value="Play">Play</button>
</body>
</html>
我使用 IE11。 navigator.userAgent="Mozilla/4.0(兼容;MSIE 7.0;Windows NT 6.1;WOW64;Trident/7.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;媒体中心 PC 6.0;.NET4.0C;.NET4.0E;InfoPath.3)"
编辑
附加信息:当我点击背景(白色区域)时,按钮边框变回虚线样式(如左图所示)。
【问题讨论】:
-
我无法重现您发布的代码示例的问题。你的实际代码中还有其他样式吗?
-
我贴的是完整的文件内容。您是否将文件保存为 .hta 文件?当我删除 HTA 部分并将其保存为 .htm 文件(并添加
<meta http-equiv="x-ua-compatible" content="IE=8" />以使 VBScript 工作)时,按钮边框不会改变。 -
是的,我将文件保存为 .hta,就像我说的,我无法重现该问题。单击任一按钮会在单击的按钮周围放置虚线,并将其从另一个按钮中删除(不留下任何其他边框)。
-
青色“边框”出现在焦点按钮上。通常你可以通过设置
outline: none来摆脱它。但是,似乎 IE11 以某种方式在按钮内显示青色边框,并且设置轮廓样式不会删除边框。 -
因为只有 Windows 7 上的 HTA/IE 11 似乎暴露了这种行为(我能够在我的 32 位 Windows 7 测试 VM 上重现它)我认为这是一个错误。
标签: css vbscript windows-7 internet-explorer-11 hta