我想使用angularJs在textarea中禁用复制粘贴.我试图用ng-paste这样做,像这样:
控制器:
angular.module('inputExample',[]) .controller('ExampleController',['$scope',function($scope) { $scope.val = '1'; $scope.past = function() { console.log("d"); $scope.val =" "; } }]);
HTML:
<input ng-paste="past()" ng-model="val" ng-pattern="/^\d+$/" name="anim" class="my-input" />
输入框具有旧数据(初始粘贴数据).
阻塞粘贴第二次工作,即如果我将数据粘贴到输入框中,则数据将出现,但是在第二次粘贴时,数据将不会粘贴,但旧数据值不会被删除.
解决方法
尝试制定一个监听剪切,复制和粘贴事件的指令,然后阻止默认事件操作.
app.directive('stopccp',function(){ return { scope: {},link:function(scope,element){ element.on('cut copy paste',function (event) { event.preventDefault(); }); } }; });
<input stopccp ng-model="val" />
您还可以使用ng-copy,ng-cut和ng-paste指令,并直接取消该事件.
<input ng-cut="$event.preventDefault()" ng-copy="$event.preventDefault()" ng-paste="$event.preventDefault()" ng-model="val" />