2014-10-17 20 views
1

tableDnD(表格拖放)是我用來重新排列我的html表中的行的jQuery插件。這是一個非常酷的圖書館,但是您可以點擊,拖拽和放置行的事實 - 通過點擊來禁用選擇該行的功能 - 它認爲您可能正在開始拖放操作,或者執行0距離拖拽。當tableDnD被禁用時,它會留下剩餘的css,我無法清除css

所以,你可以在這裏查看我的例子,看看我說的是 - http://jsfiddle.net/du31ufts/5/

它開始爲禁用,因此使該行重新排序,看看圖書館。然後,嘗試在中間選擇一行。 藍色突出顯示選擇顯示出來的唯一方法是,如果您單擊表格的邊界以外,因此您只能從底部或頂部開始選擇,並且無法選擇一行一次。我需要選擇這些行才能將這些行復制粘貼到excel中。

我試着尋找到庫本身和detaching$('__dragtable_disable_text_selection__'),我試過jquerys removeAttr爲不可選擇的,我試過

$('.dragtable-sortable').attr('-moz-user-select', 'none'); 

沒有被重新啓用我的能力可以點擊和選擇單行。我想在不修改tableDnD函數的情況下做到這一點。

哪些CSS屬性可能會影響我選擇表格行的能力?

+0

是的我可以選擇標題,但那不是有用的信息,但數據是重要的 – 2014-10-17 18:52:04

回答

0

asked about this on github並得到了答案:它確實需要修改庫。具體而言,將此問題的小提琴的207行開始的if區塊替換爲這個

if (!$(this).hasClass("nodrag")) { 
    if (e.target.tagName == "TD") { 
     $.tableDnD.initialiseDrag(this, table, this, e, config); 
    return false; 
    } 
} 

modified fiddle。謝謝tschqr

1

在ID #spot的某處創建一個textarea。 使用此代碼從點擊行中提取數據並將其選中。它由製表符分隔,因此它應該可以輕鬆地轉化爲excel。

$('tr').click(function(){ 
    var copyContent = ""; 
    $(this).children('td').each(function(){ 
     copyContent = copyContent+$(this).text()+"\t"; 
    }); 
    $('#spot').val(copyContent); 
    $('#spot').select(); 
}); 
+0

這個答案很聰明,它仍然不允許我選擇行。如果我需要選擇兩行進行復制粘貼,該怎麼辦?這非常聰明,但它比解決方案更像是一種解決方法 – 2014-10-17 21:43:57