【问题标题】:Javascript Replace onKeyUp event with a stringJavascript 用字符串替换 onKeyUp 事件
【发布时间】:2015-12-11 10:07:00
【问题描述】:

我不太擅长 JavaScript,需要一个我认为很简单的脚本。基本上我有一个输入框,当用户输入一个键时,它会消失并更改为我拥有的任何字符串。我只能得到一个字母来改变,所以我有一些东西可以表明我的意思。因此,每当用户键入一条消息时,它都会被替换为“h”,但我想要的是让“hello”一个字母一个字母地输入,而不仅仅是“h”,而不是一次全部“hello”。

这里是代码。

<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>

【问题讨论】:

  • 你想要第一个字母应该改变,例如xylo 表示你想要改变的hylo 或者只有一个字母应该来你能不能说清楚
  • PLZ用更好的方式解释你想要什么你写的东西很乱,没有得到正确

标签: javascript replace onkeyup onkeypress


【解决方案1】:

刚刚编辑,因为它给出了 JS 错误希望您不会介意:您是否在尝试这样的事情:

function replaceString(el){
	var sampleText = "hello".split("");
  var value = "";
  console.log(el)
  el.value.split("").forEach(function(str, index){
  	value += sampleText[index%sampleText.length];
  });
  el.value = value;
}
<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   ="replaceString(this);"/>

</form>

【讨论】:

  • 太棒了。非常感谢。这正是我要寻找的。​​span>
【解决方案2】:

如果您想模拟在文本框中输入文本,则需要使用超时。下面的函数就足够了:

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);
}

您需要向它传递两个参数:要输入的字符串,例如"hello" 和要输入字符串的元素。这是一个简单的包装函数:

function typeHello() {
  var el = document.getElementById('t1');
  var str = 'hello';
  simulateTyping(str, el);
}

当您调用 typeHello 函数时,它会找到具有“t1”id 的元素并输入“hello”文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多