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