仅当鼠标使用AngularJS中的指示单击一侧时,如何在输入字段中自动化第一个字符



在键入文本时将在较低的情况下,但是鼠标集中在较低的情况下,然后第一个字母必须更改为大写。

我假设您不使用反应性形式。不需要单独的指令,您需要做的就是处理焦点外事件。基本上,您可以将focusout事件绑定到输入。集中精力后,trigger()方法将被解雇。

在您的component.html上,

<input class="form-control" (focusout)="trigger($event)" [(ngModel)]="sampleInput" type="text">

和在您的组件上,trigger()方法将第一个字母转换为大写。然后,我们将转换的字符串分配给您的模型(sampleInput

sampleInput: string = undefined;
.
.
trigger(event) {
  const inputValue = event.target.value;
  const result = inputValue.charAt(0).toUpperCase() + inputValue.slice(1);
  this.sampleInput = result;
}

但是,在不太相关的音符上,我个人最喜欢的是通过纯CSS处理。但是,当然,该解决方案有局限性,因为它使字符串中每个单词的第一个字母(例如'hi john' ->'hi john')大写,而不仅仅是整个字符串的第一个字母。该方法的一个明显优势是不会突变该字符串的基本值,因为只有"显示"受到影响。

input {
  text-transform: capitalize;
}

最新更新