使用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:
输入框具有旧数据(初始粘贴数据)。
阻止粘贴第二次工作,即如果我将数据粘贴到输入框中,数据将存在,但是在第二次粘贴时数据将不会粘贴, 但旧数据值不会被删除。
尝试制作一个监听cut
, copy
和paste
事件的指令,然后阻止默认的事件操作。
app.directive('stopccp', function(){ return { scope: {}, link:function(scope,element){ element.on('cut copy paste', function (event) { event.preventDefault(); }); } }; });
通过将属性添加到输入框来使用。
Plunker
您还可以使用ng-copy
, ng-cut
和ng-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