2011-10-02 35 views
8

我有一個包含多列的表。我希望單獨選擇每一列的內容。當我開始選擇第一列時,第二列,第三列......會自動被選中。當我選擇一列時,我想讓其他列不可選。HTML表中的不可選列

我已經嘗試在元素上應用以下類,它在FF中正常工作。無論您從哪裏開始選擇,它都不可選擇。

.unselectable { 
    user-select: none; /* CSS3 */ 
    -moz-user-select: none; 
    -khtml-user-select: none; 
} 

對於IE我試圖財產稱爲unselectable="on",在Internet Explorer中,它仍然是可選的,如果選擇啓動之外。我想阻止選擇某些列,即使選擇從外面開始。

我已經嘗試使用onselectionstart和onmouseover,但是因爲選擇是從元素外部開始的,所以這些不會被觸發。

我有什麼希望嗎?

在此先感謝。

+0

你的目的是分別選擇每一列?我創建了一個包含一些文本的表格,我選擇了文本而不會遇到問題。你也可以提供一些關於爲什麼這是一個問題的更多細節?你能給我們一個片段或所有的代碼,所以我們可以測試它嗎? – b28c92e5ff1

+0

你最好的辦法是可能通過jquery(簡單和乾淨的選擇器)選擇表單元格,並設置相應的css類來改變行爲。您可能希望使用style-attribute,因此這些屬性不能被來自瀏覽器的自定義用戶css文件覆蓋。 – Smamatti

回答

1

我相信現在還沒有純粹的CSS解決方案。

這可能聽起來很奇怪,但是您可以將希望用戶選擇的列的內容克隆到原始列上將爲positioned: absolutely的單獨表中。

0

這可能有助於包含TH和SCOPE屬性。不能說它會起作用,但它確實提供了更多語義表。 CSS可以掛鉤這個屬性,所以一個DOM解決方案不能那麼遙遠。

1

而是另起爐竈的...退房http://www.datatables.net/

這是一個jQuery表格插件,會敲你的襪子。

看起來它已經在做你想做的事情,而且它是免費的。

+0

Datatables很棒:)他們會爲你簡化任務@Gopal確實是 –

+1

沒有解決問題,而且看起來像一個插件。 -1 –