0
在我看来,Gecko有一个涉及“:active”的bug。举例来说,把它放到一个名为test.html的文件中:为什么“:active”在Gecko框架内不能正常工作?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "hxxp://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" >
<head>
<style type="text/css">
.clickable {
border: solid black 1px;
padding: 2px;
cursor: pointer;
-moz-user-select: none;
}
.clickable:active {
background-color: gray;
}
</style>
</head>
<body>
<span class="clickable">blah</span>
</body>
</html>
现在打开它,比如FF3。跨度应该像一个按钮一样工作:如果你在它上面,背景会改变颜色。当你mouseup,它恢复正常。
请注意,如果您在范围内踩踏鼠标,将鼠标移到浏览器窗口外部并将其释放,则此功能甚至有效:在鼠标关闭的部分,背景为灰色。释放时,跨度恢复正常。
到目前为止这么好。但是,尝试在框架包裹它:
<html>
<frameset cols="50%, 50%">
<frame src="test.html" />
<frame src="http://google.com" />
</frameset>
</html>
负载是一个。现在,当你在范围内拖动鼠标时,将鼠标移动到框架外的任何位置,并且mouseup,范围永远保持灰色 - 即CSS永远认为它是“:active”。
这似乎只发生在一个框架中,并且该问题不会在基于KHTML的浏览器中显示。
任何人都有解决方法?
如果您按住跨度上的鼠标按钮,将鼠标移动到窗口外并释放鼠标,这是否也会发生(没有框架)? – cmptrgeekken 2009-04-14 22:19:40
你是不是在谈论我在这段中以“注意这个”开头的话? – mike 2009-04-14 22:41:25