如何使用AngularJS中的指令,仅当鼠标单击外侧时,自动大写输入字段中的第一个字符?

如何使用AngularJS中的指令,仅当鼠标单击外侧时,自动大写输入字段中的第一个字符?,angular,Angular,键入文本时,它将使用小写,但当鼠标向外聚焦时,第一个字母必须改为大写。我假设您没有使用被动形式。不需要单独的指令,因为您所需要做的就是处理focus out事件。基本上,您可以将focusout事件绑定到您的输入。调出焦点后,将触发trigger()方法 在component.html上 <input class="form-control" (focusout)="trigger($event)" [(ngModel)]="sampleInput" type="text"> 然而

键入文本时,它将使用小写,但当鼠标向外聚焦时,第一个字母必须改为大写。

我假设您没有使用被动形式。不需要单独的指令,因为您所需要做的就是处理focus out事件。基本上,您可以将
focusout
事件绑定到您的输入。调出焦点后,将触发
trigger()
方法

在component.html上

<input class="form-control" (focusout)="trigger($event)" [(ngModel)]="sampleInput" type="text">
然而,在一个不太相关的注释中,我个人最喜欢的是通过纯CSS处理它。但当然,这种解决方案也有局限性,因为它将字符串中每个单词的第一个字母大写(例如“hi john”->“hi john”),而不仅仅是整个字符串的第一个字母。此方法的一个明显优点是不会改变该字符串的基础值,因为只影响“显示”

input {
  text-transform: capitalize;
}

我假设你没有使用反应形式。不需要单独的指令,因为您所需要做的就是处理focus out事件。基本上,您可以将
focusout
事件绑定到您的输入。调出焦点后,将触发
trigger()
方法

在component.html上

<input class="form-control" (focusout)="trigger($event)" [(ngModel)]="sampleInput" type="text">
然而,在一个不太相关的注释中,我个人最喜欢的是通过纯CSS处理它。但当然,这种解决方案也有局限性,因为它将字符串中每个单词的第一个字母大写(例如“hi john”->“hi john”),而不仅仅是整个字符串的第一个字母。此方法的一个明显优点是不会改变该字符串的基础值,因为只影响“显示”

input {
  text-transform: capitalize;
}

你能展示试用过的代码吗?我对Angular不熟悉。你在使用反应式表单吗?或者您正在使用普通的旧模板驱动表单(使用ngmodel)?然后尝试一下!是一个onBlur事件,用于AutoCaptalize Directive。你能展示试用过的代码吗?我对Angular不熟悉。你使用的是被动形式吗?或者您正在使用普通的旧模板驱动表单(使用ngmodel)?然后尝试一下!是一个onBlur事件,用于AutoCaptalize指令