javascript – 使用AngularJs禁用文本框的剪切,复制和粘贴功能

前端之家收集整理的这篇文章主要介绍了javascript – 使用AngularJs禁用文本框的剪切,复制和粘贴功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用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" />

Plunker

您还可以使用ng-copy,ng-cut和ng-paste指令,并直接取消该事件.

<input ng-cut="$event.preventDefault()" ng-copy="$event.preventDefault()" ng-paste="$event.preventDefault()" ng-model="val" />

Plunker

猜你在找的JavaScript相关文章