案子
- 我们有一个在 CSS 中指定状态的
<a>
元素:active
- 在 JavaScript 代码中,我们监听
mousedown
事件并event.preventDefault()
出于某些原因调用 :) - 结果:在Firefox中,当我将鼠标光标移到锚上并单击它时——锚不显示为
:active
- 我还在一些 Chrome/Opera/IE 版本中测试了这个问题——所有浏览器都像这样装饰了锚点
:active
。
这是一个案例的测试:http: //jsbin.com/azajex/4
问题
在 W3C 上没有深入的描述,必须考虑什么active
以及何时考虑。
但是除了 FF 之外的所有浏览器(也许,不是全部?)首先由 CSS 引擎处理 mousedown 并将元素呈现为:active
. 这似乎是一个长期的问题,我在 FF 3.6、8.0、13.0 中测试了这个案例——所有版本的行为都完全相同。
那么,在这种情况下,浏览器的正确行为是什么?