使用AngularJs禁用文本框的剪切,复制和粘贴function

我想使用angularJs在textarea中禁用复制粘贴。 我试着用ng-paste这样做,如下:

控制器:

angular.module('inputExample', []) .controller('ExampleController', ['$scope', function($scope) { $scope.val = '1'; $scope.past = function() { console.log("d"); $scope.val =" "; } }]); 

HTML:

  

输入框具有旧数据(初始粘贴数据)。

阻止粘贴第二次工作,即如果我将数据粘贴到输入框中,数据将存在,但是在第二次粘贴时数据将不会粘贴, 旧数据值不会被删除。

尝试制作一个监听cutcopypaste事件的指令,然后阻止默认的事件操作。

 app.directive('stopccp', function(){ return { scope: {}, link:function(scope,element){ element.on('cut copy paste', function (event) { event.preventDefault(); }); } }; }); 

通过将属性添加到输入框来使用。

  

Plunker

您还可以使用ng-copyng-cutng-paste指令直接取消该事件。

  

Plunker

最简单的方法:

  

在这里工作

 Try this;  

在控制器中

  app.controller('MainCtrl', function($scope) { $scope.name = 'World'; $scope.paste = function(e){ e.preventDefault(); return false } }); 

你可以这样做

 app.controller('MainCtrl', function($scope, $timeout) {.... ....... $scope.past = function() { $timeout(function() { $scope.val = " "; }, 0); }... 

这是Demo Plunker