Javascript用字符串替换onKeyUp事件
我不太擅长JavaScript,需要一个我认为简单的脚本。基本上,我有一个输入框,当用户键入一个键时,它将消失并更改为我拥有的任何字符串。我只能换一个字母,这样我就有东西来表达我的意思了。因此,每当用户键入一条消息时,它都会被替换为“h”,我想让用户一个字母一个字母地键入“hello”,而不仅仅是一直键入“h”,而不是一次键入“hello” 这是代码Javascript用字符串替换onKeyUp事件,javascript,replace,onkeyup,onkeypress,Javascript,Replace,Onkeyup,Onkeypress,我不太擅长JavaScript,需要一个我认为简单的脚本。基本上,我有一个输入框,当用户键入一个键时,它将消失并更改为我拥有的任何字符串。我只能换一个字母,这样我就有东西来表达我的意思了。因此,每当用户键入一条消息时,它都会被替换为“h”,我想让用户一个字母一个字母地键入“hello”,而不仅仅是一直键入“h”,而不是一次键入“hello” 这是代码 <form action=# name=f1 id=f1 onsubmit="return false"> <input ty
<form action=# name=f1 id=f1 onsubmit="return false">
<input type=text name=t1 id=t1 value="" size=25 style="width:300px;"
onkeypress="if(this.value.match(/\D/))"
onkeyup ="this.value=this.value.replace(/\D/g,'h')">
</form>
刚刚编辑过,希望您不会介意:您正在尝试这样的操作吗:
函数替换字符串(el){
var sampleText=“hello”.split(“”);
var值=”;
控制台日志(el)
el.value.split(“”).forEach(函数(str,索引){
值+=sampleText[索引%sampleText.length];
});
el.值=值;
}
如果要模拟在文本框中键入文本,则需要使用超时。以下功能应足够:
function simulateTyping(str, el)
{
(function typeWriter(len)
{
var rand = Math.floor(Math.random() * (100)) + 150;
if (str.length <= len++)
{
el.value = str;
return;
}
el.value = str.substring(0,len);
if (el.value[el.value.length-1] != ' ')
el.focus();
setTimeout(
function()
{
typeWriter(len);
},
rand);
})(0);
}
当您调用typeHello函数时,它将找到id为“t1”的元素并键入“hello”文本。你想要第一个字母应该改变,例如,xylo表示你想要改变,或者只有一个字母应该出现。请你清楚一点,解释一下你想要的是什么。你写的东西很混乱,没有弄清楚。非常感谢。这正是我要找的。
function typeHello() {
var el = document.getElementById('t1');
var str = 'hello';
simulateTyping(str, el);
}