2014-01-06 2 views
1

Если у меня есть AngularJS HTML, который создает таблицу так:Как добавить элемент управления click и double click в строку с помощью 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 клика.

Edit: покаянием, я не имел ни малейшего представления о ngdblclick

+0

Как я могу сделать так, чтобы подсвечивалась только строка, на которую я нажимаю, и все остальные строки теряют выделение. Считаете ли вы, что это можно сделать с помощью Angular? –

+0

Конечно. Я бы начал с создания директивы, которая соответствует вашим потребностям. Эта директива может, например, обмениваться областью со всеми экземплярами, и вы можете добавлять и удалять некоторые атрибуты класса CSS при щелчке. Однако есть много способов сделать это. Если вы не знакомы с директивами, я настоятельно рекомендую лекцию по теме :) – Sprottenwels

4

Я нашел ниже с сайта Jquery в:.

" Нежелательно связывать обработчики как мыши и DblClick событий для того же элемента Последовательность событий срабатывает варьируется от браузера в браузере, с некоторыми получать два щелчка перед возникновением DblClick и другие только один. "

Это лучше, вы можете найти другой способ реализовать его, например, с помощью наведению мыши и выберите событие т ogather, но не щелкнуть и дважды щелкнуть togather.

Смежные вопросы