2014-12-03 46 views
0

我正在使用報告用戶界面,並且正在使用ng-grid。你可以在這個example中看到我正在談論的行爲。 (當你點擊/選擇單詞過濾器,它的工作原理,當你嘗試選擇的數據,它不)什麼阻止我選擇ng-grid中的內容?

NG-Grid有這個CSS「選擇」類,它被添加到行時,它被選中。對我來說這是假選擇,而不是我需要的選擇。我需要能夠選擇網格內的內容,就像你可以雙擊我現在輸入的單詞並選擇它們一樣。我可以想出一個類似於this jQuery的hacky解決方案,(不要太深入這個jsfiddle,這是關於另一個問題)。我寧願能夠點擊左上角附近,拖動到右下角,並選擇一切,所以我可以複製粘貼電子郵件等數據。

那麼是否有一個CSS屬性使divs不可選?或者div是可點擊進行選擇和排序的事實,因此它無法獲取點擊次數?

+0

它似乎對我來說工作得很好。你能更清楚地解釋這個問題嗎? – elzi 2014-12-03 22:40:31

+0

@elzi,當你從ng網格中「選擇」數據時,它只向元素添加一個藍色的背景色,但它並沒有真正被選中,因此,你不能單擊來選擇一行並按下CTRL + C&CTRL + V – 2014-12-03 22:43:32

+0

啊..我明白了。看看[getSelection](https://developer.mozilla.org/en-US/docs/Web/API/Window.getSelection)和[Range](https://developer.mozilla.org/en-US/docs/Web/API /範圍) – elzi 2014-12-03 22:55:44

回答

5

ng-grid的默認設置enableHighlighting設置爲false,這意味着一個unselectable CSS類將應用於網格。此類應用了user-select規則,可防止選擇。

.ngGrid.unselectable { 
    -moz-user-select: none; 
    -khtml-user-select: none; 
    -webkit-user-select: none; 
    -o-user-select: none; 
    user-select: none; 
} 

第二個例子中,你linked(其中只有標題是不可選擇的)進行UI電網,NG形柵格的重寫,所以默認行爲不一定匹配。

+0

但是,仍然有內容是不可選的:列標題 – 2014-12-04 04:41:17

+0

我可以用用戶選擇屬性替換單詞none,用_____ +!important(?) – 2014-12-04 04:47:28

+0

列標題具有一些硬編碼行爲,它會添加'draggable = 「true」屬性,防止突出顯示(查看ng-grid源代碼)。如果您需要更靈活的標題,那麼可能是時候轉到使用UI-Grid定義自定義標題更容易:http://ui-grid.info/docs/#/tutorial/302_custom_header – user2943490 2014-12-04 08:38:16

-1

添加enableHighlighting:true爲您的網格配置。

var gridConfig = { ... enableHighlighting: true, // Allow to select grid content footerTemplate: 'modules/grid-footer.html', sortInfo: { fields: ["name"], directions: ["ASC"] }, useExternalSorting: true, ... }

+1

請嘗試給您的答案示例代碼。 – 2015-10-21 11:21:16