[英]AngularJs - Clear the entire text in a input textbox on pressing backspace button
浏览了网络帖子,但运气不足以找到解决方案。 我的要求是,当用户(在此处删除最右边的数字9,例如12345678 9 )从帐号末尾按退格键时,清除整个帐号。 任何帮助将不胜感激。
例如:12345678 9 。 按9退格键应从输入文本框中清除整个帐户。
我也认为这不是一个好习惯,但是如果您想这样做,可以使用$ scope。$ watch跟踪输入的更改并将输入的新值与先前的值进行比较。substring(0,length-1)
$scope.$watch('data', function(newValue, oldValue) {
if(oldValue != undefined && newValue != undefined){
if(oldValue.substring(0, oldValue.length - 1) == newValue){
$scope.data = "";
}
}
});
我认为在需要快速输入相似数字(可能基于默认值)但又需要快速重置输入字段的应用程序中,这很有意义。 这是一个小指令:
angular.module('myApp').directive('clearOnBackspace', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
var length = attrs.clearOnBackspace || 9;
element.on('keydown', function(e) {
var key = e.keyCode || e.charCode;
if (key == 8 && element[0].value.length == length) element[0].value = ''
})
}
}
});
<input type="text" clear-on-backspace> <!-- clear on 9th letter, the default -->
<input type="text" clear-on-backspace="5"> <!-- clear on 5th letter -->
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.