如何使用'keyup'事件将小写字符更改为大写?

Jen*_*ony 52 javascript jquery

我的目标是使用jQuery事件.keyup()将输入的小写字符转换为大写字母.

我怎样才能做到这一点?

Nea*_*eal 94

普通ol'javascript:

var input = document.getElementById('inputID');

input.onkeyup = function(){
    this.value = this.value.toUpperCase();
}
Run Code Online (Sandbox Code Playgroud)

使用jQuery的Javascript:

$('#inputID').keyup(function(){
    this.value = this.value.toUpperCase();
});
Run Code Online (Sandbox Code Playgroud)

  • @mattdlockyer,它是如此愚蠢,以至于在一般原则上应该有一个反对它的法律 (11认同)
  • 我也发现这个有效:$(this).val($(this).val().toUpperCase()); (4认同)

Con*_*nan 32

像这样改变用户输入的唯一问题是最终用户看起来多么令人不安(他们会简要地看到小写字符跳转到大写).

您可能需要考虑的是将以下CSS样式应用于输入字段:

text-transform: uppercase;
Run Code Online (Sandbox Code Playgroud)

这样,输入的任何文本总是以大写字母显示.唯一的缺点是这是一个纯粹的视觉变化 - 输入控件的值(当在后面的代码中查看时)将保留最初输入的情况.

虽然很容易解决这个问题,但强制输入val().toUpperCase(); 那么你就是两全其美的.