如何使用Angularjs检测文本区域中的复制和剪切事件?

How can I detect copy and cut event in a textarea using Angularjs

本文关键字:复制 事件 Angularjs 何使用 检测 文本 区域      更新时间:2023-09-26

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

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

在Angular中怎么做呢?我为此做了一个样品柱塞。

工作柱塞。

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

一个简单的选择是创建一个指令。例如

.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