【发布时间】: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