更改在文本字段中输入的字符的值

Change the value of a character entered in a textfield

本文关键字:输入 字符 字段 文本      更新时间:2023-09-26

例如,我在下面的代码中试图将输入文本字段的任何字符解释为arrayOfCharacters中的第一个元素。然而,这种方法在输入第二个字符时有效,但不起作用。我想知道是否有人知道为什么这不起作用。谢谢

let arrayOfCharacters = ["‛¯¯٭٭¯¯(▫▫)¯¯٭٭¯¯", "=^..^="]
document.getElementById("input-area").onkeypress = function(evt) {
  let val = this.value
  //Transform the typed characters
  this.value = val + arrayOfCharacters[0]
}

这是有效的:

var arrayOfCharacters = ["‛¯¯٭٭¯¯(▫▫)¯¯٭٭¯¯", "=^..^="]
var totalValues = 0;
document.getElementById("input-area").onkeypress = function(evt) {
  evt.preventDefault();
  var val = this.value
  //Transform the typed characters
  // notice totalValues variable
  this.value += arrayOfCharacters[totalValues]; 
  totalValues++;
}

示例:

https://jsfiddle.net/pn8h4rqt/