2011-03-05 33 views
2

我已經變窄的缺陷降到此示例,其中數字「1」是在IE7無法點擊(只):IE7元件不能點擊

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"><head> 
    <title>Click 1</title> 
    <style type="text/css">  
     div { position: absolute; overflow: auto; } 
     table { position: relative; } 
     span { position: fixed; top: 100px; } 
    </style> 
</head><body> 
    <div> 
     <table> 
      <tr> 
       <span onclick='alert(1)'>1</span>2 
      </tr> 
     </table> 
    </div> 
</body></html> 

誰能確定根本原因,所以我瞭解我的解決方法選項?

我使用這裏表示的所有CSS來構建可排序的固定頭滾動表。在原始代碼中,跨度實際上位於TH中,通過負邊距固定滾動表上方的標題,同時允許表格呈現器在列寬中考慮標題文本,而不需要表格重複或「onResize」 - 模擬定時器。

+1

你有沒有定義的SortTable'()'? – alex 2011-03-05 00:51:39

+0

我使用了thirtydot的示例來演示javascript與問題無關。 – shannon 2011-03-05 02:46:52

回答

2

刪除position: relativediv修復它。

如果這不是一個選項,我還發現加入*display: inlinediv修復它。

display之前的星號是一個CSS規則,僅適用於IE7及更低版本。這不是一個真棒,因爲它不是有效的CSS,但它的工作原理並沒有問題。

如果這些想法都不適合您,那麼查看更完整的測試用例來理解原因會有所幫助。


你的原代碼,但<span onclick='alert(1)'>所以JavaScript的工作:
http://jsbin.com/aretu5(不能點擊它在IE7)

一樣,用position: relative刪除:
http://jsbin.com/aretu5/2(以作品IE7)

相同,還有position: relative還有*display: inline說:
http://jsbin.com/aretu5/3(在IE7作品)

+0

但它用'inline'固定(出於某種奇怪的原因..)? – thirtydot 2011-03-05 02:13:08

+0

@thirtydot:在DIV上,我使用ABSOLUTE(加上TOP:和BOTTOM :)來取頁面大小減去頁眉和頁腳。 RELATIVE有相同的問題。在表I中,我使用它來允許移動一些包含元素的位置。 – shannon 2011-03-05 02:48:46

+0

@thirtydot我要瘋了,你與* display hack的鏈接適用於我,但現在我無法在我的本地測試夾具上覆制它。我仍在看它。 – shannon 2011-03-05 03:48:53

1

嘗試使用括號

<span onclick='sortTable()'>1</span>