2

我正在尝试设置样式input[type="button"],似乎当我单击标签 IE(在我的情况下为 9;我不关心较低版本)时不会应用该:active样式。如果我在标签之外单击,一切都可以在 Chrome 和 Firefox 以及 IE 上正常运行。我没有找到任何可能是问题的线索。

A<button>没有这个问题,所以我猜另一个按钮的标签有什么特别之处,但是什么?有什么解决方法吗?

该问题在http://jsfiddle.net/Kmved/1/中得到了演示

4

1 回答 1

3

有趣的发现在那里。要回答第一个问题,“为什么?”:不幸的是,CSS 规范将语义:active 完全留给了浏览器供应商

CSS 没有定义哪些元素可能处于上述状态,或者状态如何进入和离开。脚本可能会改变元素是否对用户事件做出反应,并且不同的设备和 UA 可能有不同的指向或激活元素的方式。

现在我会认为这是 IE 中的一个错误(并希望它可能会在 IE10 中修复),但法律条文说这对你来说是完全可以接受的,但运气不好。

回答第二个问题(解决方法?):好吧,你自己说的。使用 a<button>代替;作为奖励,除了简单的文本之外,您还可以选择在按钮内放置任何类型的内容。

于 2013-02-12T13:41:45.913 回答