我想阻止用户从Angular2 +中的文本框中删除一定长度的字符串。
我希望在文本框中修复一些像“abcd”这样的文本,以便用户无法删除它。它会像pre-string一样。
<input type="text" [(ngModel)]="fname" placeholder="Enter a name here">
哪里
fname: string = 'abcd';
我希望在从文本框中删除文本时,如果文本达到指定长度,则阻止按退格键或删除按钮。
任何人都可以帮我这个吗?
以下是plunker:plunker
答案 0 :(得分:2)
您可以处理事件keydow
<input [(ngModel)]='name' (keydown)="eventHandler($event)"/>
<强> .TS 强>
eventHandler(event){
if(event.target.value.length == this.specificLength && (event.code == "Backspace" || event.code == "Delete")){
return false;
}
return true;
}
您可以参考我的链接:https://stackblitz.com/edit/angular-6lw2tg?file=app%2Fapp.component.ts
答案 1 :(得分:0)
使用JQuery:
$("input").keydown(function(e) {
var oldvalue=$(this).val();
var field=this;
setTimeout(function () {
if(field.value.indexOf('abcd') !== 0) {
$(field).val(oldvalue);
}
}, 1);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" value="abcd"/>
&#13;