Как я могу обнаружить событие копирования и вырезания в текстовой области, используя Angularjs

0

Я новичок в Angular и хочу определить, копирует ли пользователь или вырезает текст из данного текстового поля.

<textarea ng-model="target"></textarea>
<p>{{ event }}</p>

Как я могу сделать это в Angular? Для этого я сделал образец plunker.

Теги:

2 ответа

2
Лучший ответ

Рабочий плункер.

<div >
    <textarea name='textArea' ng-cut="event=cut" ng-copy="event=copy" value='copy/cut me'" ng-model="value"></textarea>

    <p>event: {{event}}</p>
</div>
0

Один простой вариант - создать директиву. Например

.directive('detectCutCopy', function() {
    return function(scope, element) {
        element.on('cut copy', function(e) {
            scope.$apply(function() {
                scope.event = e.type;
            });
        });
    };
})

и в вашем шаблоне

<textarea ng-model="target" detect-cut-copy></textarea>

Plunker ~ http://plnkr.co/edit/2h0MSVM4506vOGrGxclu?p=preview

  • 0
    не было необходимости создавать директиву.
  • 1
    @ Джигс Это круто. Я не осознавал, что Angular уже предоставил директивы ng-cut и ng-copy .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню