在Angular 2&中达到一定长度后,防止从文本框中删除字符串4

时间:2018-02-05 03:29:16

标签: angular typescript

我想阻止用户从Angular2 +中的文本框中删除一定长度的字符串。

我希望在文本框中修复一些像“abcd”这样的文本,以便用户无法删除它。它会像pre-string一样。

<input type="text" [(ngModel)]="fname" placeholder="Enter a name here">
哪里 fname: string = 'abcd';

我希望在从文本框中删除文本时,如果文本达到指定长度,则阻止按退格键或删除按钮。

任何人都可以帮我这个吗?

以下是plunker:plunker

2 个答案:

答案 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:

&#13;
&#13;
$("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;
&#13;
&#13;