2014-01-06 16 views
1

如果我有一個創建一個這樣AngularJS HTML:如何使用AngularJS將單擊和雙擊控件添加到行中?

<tbody> 
    <tr data-ng-repeat="row in grid.data"> 
     <td>{{ row.id }}</td> 
     <td>{{ row.text }}</td> 
    </tr> 
</tbody> 

我怎麼能加入功能,以便在一排點擊使剛剛這一行高亮顯示,兩次點擊呼叫與row.id功能?有沒有AngularJS的方法來做到這一點,或者我必須使用jQuery?我懷疑要做到這一點的唯一方法是jQuery,但我覺得我應該先問一個問題AngularJS

感謝

+3

您可以使用[ngClick](http://docs.angularjs.org/api/ng.directive:ngClick)和[ngDblclick](http://docs.angularjs.org/api/ng.directive:ngDblclick )。你可以提供一個運動員或jsfiddle嗎? – Satpal

+0

我需要把它放在每個單元格上,還是可以放在行上? –

+0

我剛剛意識到。只需點擊一下,我只想點擊突出顯示的一行,並刪除任何以前的突出顯示。我認爲這可能更難實現。 –

回答

2

角度本身有一個內置的[ng-click][1]指令。

我會考慮使用這個。不過,我想你必須自己構建雙擊功能。

這應該非常簡單,可以與ng-click觸發函數結合使用。只需等待x秒,以確定用戶是否完成了2次點擊。

編輯:認錯,我還沒有收到有關ngdblclick

+0

我怎麼能做到這一點,只有我點擊的行突出顯示,其他所有行都會丟失突出顯示。你認爲這可以用Angular來完成嗎? –

+0

當然。我會開始創建一個適合您需求的指令。例如,該指令可以與所有實例共享作用域,並且可以在單擊時添加和刪除一些css類屬性。雖然有很多方法可以實現這一點。如果您對指令不熟悉,我強烈建議您就該主題進行一些講座:) – Sprottenwels

4

下面我發現從jQuery的網站:

是不可取的處理程序綁定到點擊DBLCLICK事件都爲同一元素的事件順序觸發從瀏覽器而異到瀏覽器,有些接受DBLCLICK前兩個click事件和其他人只有一個。

它的更好,你可以找到另一種方式來實現它,如使用鼠標懸停和點擊事件ŧ ogather但不點擊並雙擊togather。

相關問題