Javascript 防止在AngularJS中达到一定长度后从文本框中删除字符串
我想防止用户从AngularJS的文本框中删除一定长度的字符串 我想在文本框中固定一些文本,如“abcd”,以便用户无法删除它。它的行为类似于预字符串 为此,我用ng init初始化了文本框,并在keyup事件中检查字符串的长度,如果它小于预定义的大小,则我将字符串放回ng模型中 它的工作没有错误,但并不顺利。我想防止在从文本框中删除文本时,如果文本达到指定长度,则按退格或删除按钮 我不熟悉AngularJS 这里是链接 HTMLJavascript 防止在AngularJS中达到一定长度后从文本框中删除字符串,javascript,angularjs,string,dom-events,Javascript,Angularjs,String,Dom Events,我想防止用户从AngularJS的文本框中删除一定长度的字符串 我想在文本框中固定一些文本,如“abcd”,以便用户无法删除它。它的行为类似于预字符串 为此,我用ng init初始化了文本框,并在keyup事件中检查字符串的长度,如果它小于预定义的大小,则我将字符串放回ng模型中 它的工作没有错误,但并不顺利。我想防止在从文本框中删除文本时,如果文本达到指定长度,则按退格或删除按钮 我不熟悉AngularJS 这里是链接 HTML <body ng-app="myApp1"> &
<body ng-app="myApp1">
<div ng-controller="myController">
<div ng-app>
<label>Key:</label>
<input type="text" name="key" ng-model="key" ng-init="key = 'abcd'" ng-keyup="updateKey($event)">
</div>
</div>
</body>
关键:
AngularJS
(function(angular) {
'use strict';
var myApp = angular.module('myApp1', []);
myApp.controller('myController', ['$scope', function($scope) {
$scope.updateKey = function($event) {
var len = $scope.key.length;
if ($event.keyCode === 8 && len < 4) {
$scope.key = "abcd";
}
};
}]);
})(window.angular);
(函数(角度){
"严格使用",;
var myApp=angular.module('myApp1',[]);
myApp.controller('myController',['$scope',函数($scope){
$scope.updateKey=函数($event){
var len=$scope.key.length;
如果($event.keyCode==8&&len<4){
$scope.key=“abcd”;
}
};
}]);
})(窗口角度);
我认为您可以为$scope.key
$scope.$watch('key', function(newValue, oldValue) {
console.log(oldValue, newValue);
if(newValue.length < 4) {
$scope.key = 'abcd';
}
});
$scope.$watch('key',函数(newValue,oldValue){
console.log(oldValue、newValue);
如果(newValue.length<4){
$scope.key='abcd';
}
});
每次更改模型时,watcher函数都将调用,因此当您更改模型时,angular函数将调用此函数,在函数中,我们可以获得旧值和新值,在此基础上,您可以尝试实现您想要实现的目标
以下是在指令中使用ngModel解析器的需求。许多条件,比如你不考虑的粘贴,或者用户只是把光标放进去part@charlietfl你能提供一些例子吗?见文件中的例子。。或者谷歌搜索你真的想要这样一个strage UI experiecen,或者验证最小长度也可以吗?@billc.cn我在jQuery中看到过这样的例子,如果我提供最小长度,那么我必须在失去焦点或表单提交时做,这是我不想要的。谢谢@K.Toress我试过了,但是我得到了错误newValue未定义如果你检查演示它在演示中工作正常,请删除ng keyup
它工作正常,我在newValue.lengthgal之前添加了检查newValue空值的代码以帮助你:)谢谢