如何使用Angularjs在textarea中检测复制和剪切事件

时间:2015-10-27 05:04:04

标签: javascript angularjs

我是Angular的新手,想要检测用户是否从给定的textarea复制或剪切文本。

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

我如何在Angular中执行此操作?我为此做了一个sample plunker

2 个答案:

答案 0 :(得分:2)

Working plunker.

<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>

答案 1 :(得分: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