【问题标题】:Not Retaining letters in display each keyup (pure javascript)不保留显示每个键的字母(纯javascript)
【发布时间】:2020-01-24 01:20:32
【问题描述】:

我正在制作凯撒解码功能,但是每次更改显示未保留的字母时,我都需要保留 dom 中以前的字母,如何在代码中进行最小的更改来实现这一点

var max = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"
var input = document.querySelector('#un');
input.addEventListener("keyup", caesar)

function caesar() {
  var userpref = 1
  var joe = max.split("")
  var text = document.querySelector('#un').value;
  var textlet = Array.of(...text);
  var num = joe.indexOf(textlet[textlet.length - 1]) + userpref
  var fin = joe[num]
  var decoded = document.querySelector('#decoded').innerHTML = fin;

}
<input id="un" type="text">
<div id="decoded"></div>
<div id="list"></div>

【问题讨论】:

  • 嗨,欢迎来到 StackOverflow ...“在我的代码中进行最小的更改”:在 var decode 行中将 = 更改为 += :)
  • 非常感谢!,我不知道这是可能的,你把我从另一个小时弄清楚了????
  • 它被称为concatenation,它是一个缩写:a = a + 1 可以简单地写成a += 1
  • 我刚刚意识到另一个问题,每当我按退格键时显示它没有删除,我该如何解决这个问题?
  • 所以,你只需要检查用户是否按下了删除键并更新,例如,删除#decoded的最后一个字符......你也可以阻止一些键,比如左和右.. . 有很多可能性:)

标签: javascript html decode


【解决方案1】:

我更新了以下截图:

只需添加+ 即可连接字符串。

var max = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"
var input = document.querySelector('#un');
input.addEventListener("keyup", caesar)

function caesar() {
  var userpref = 1
  var joe = max.split("")
  var text = document.querySelector('#un').value;
  var textlet = Array.of(...text);
  var num = joe.indexOf(textlet[textlet.length - 1]) + userpref
  var fin = joe[num]
  var decoded = document.querySelector('#decoded').innerHTML += fin; // add this plus here!

}
<input id="un" type="text">
<div id="decoded"></div>
<div id="list"></div>

【讨论】:

  • 是的,谢谢!但是每当我按退格键时,显示它并没有被删除,我该如何解决这个问题?
猜你喜欢
  • 1970-01-01
  • 2021-06-12
  • 1970-01-01
  • 2012-01-24
  • 2020-09-30
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多