当前位置: 首页 > 知识库问答 >
问题:

在页面加载时开始输入时,在输入字段中添加字符,而不对输入进行聚焦

曾河
2023-03-14

这是我的代码

null

document.addEventListener('keyup', logKey);
function logKey($event) {
  var charCode = $event.keyCode;
  if(charCode > 31 && (charCode < 48 || charCode > 57 || charCode > 107 || charCode > 219 || charCode > 221) && charCode != 40 && charCode != 32 && charCode != 38 && charCode != 41 && (charCode < 43 || charCode > 46)){
      var inputElement = document.getElementById("input");
      inputElement.focus();
      inputElement.value = inputElement.value + $event.key;
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<input type="text" id="input">

null

在页面加载时,如果用户开始键入,焦点将聚焦输入,但不允许用户输入键入的字符。到目前为止,焦点是工作的,但当用户连续键入时,它并不像预期的那样工作。请帮帮我。任何帮助都将不胜感激。

共有1个答案

袁单鹗
2023-03-14

问题中的代码中的问题是,您将刚刚在输入中键入的字符追加到输入中,实际上复制了该字符。

考虑到你在评论中对你的预期目标所做的陈述:

当用户开始输入时,我只需要专注于输入

您可以将按键事件处理程序附加到文档上,该事件处理程序在键入字符后立即将焦点设置在输入上:

null

$(document).on('keypress', e => {
  var charCode = e.keyCode;
  if (charCode > 31 && (charCode < 48 || charCode > 57 || charCode > 107 || charCode > 219 || charCode > 221) && charCode != 40 && charCode != 32 && charCode != 38 && charCode != 41 && (charCode < 43 || charCode > 46)) {
    $('#input').focus();
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="input">
 类似资料:
  • 问题内容: 我有一个最大字符范围为16的字符,每4个字符后,我要添加一个负字符或空格,然后编写其余的字符,例如本示例5022-2222-2222-2222。有我的代码,但是那不起作用,该怎么办? 我在 范围方法中添加此代码。 问题答案: 我们可以从实现oisdk:s SwiftSequence 方法的(版本号)的Swift 3版本开始: 在这种情况下,实现自定义格式是创建4个字符的块并将其通过“-

  • 我想在ReactJS onChange中执行一个附加函数,在input type text字段中,那么render函数是:

  • 问题内容: 我们的应用程序正在通过bootstrap(angular-ui bootstrap)从jQuery移植到AngularJS。 以下出色的文章介绍的一个便捷功能是,如果URL字段中没有前缀,则将其添加“ http://”前缀:http : //www.robsearles.com/2010/05/jquery- validate-url-adding-http / 我正在尝试通过指令在A

  • 问题内容: 我的扩展程序具有一个包含项目的上下文菜单。我想要做的是:右键单击html元素(例如,输入或文本区域),然后选择并单击菜单中的某个项目时- 由扩展名定义的某些值将输入到输入中。 目前,我已经意识到。 简单的输入就可以了。 当存在具有自定义事件处理的输入(例如日历或电话输入或货币输入)时,问题就开始了,这些输入以某种方式转换了用户输入。 由于我直接在元素上设置了一个值-省略了处理逻辑,这会

  • 问题内容: 我正在尝试我的React.js的第一部分,并在很早的时候就陷入了困境…我有下面的代码,该代码将搜索表单呈现为。但是,在搜索框中输入内容无济于事。 大概在通过道具并上下移动时会丢失一些东西,这似乎是一个常见问题。但是我很沮丧-我看不到缺少的东西。 (最终,我会使用其他类型的,但是我只是想让这一类正常工作。) 问题答案: 您尚未将道具放在机箱中。它必须在JSX中。 在文档中充分考虑了将 p

  • 问题内容: 我不太确定如何处理此问题。我希望我能到达那里。 例如,我在一个页面上有一张充满地址的表。这些计数是动态的(可以是5或10或任何其他计数)。我希望可以在一页上进行编辑。 我的方法是创建wtforms一个表单编辑一个地址,并乘以它在Jinja2的和附加到HTML propertys并在 从itereation,这样我就可以提取人工数据的每一行,并把它放回我的形式,当我想评估一下。 因此,此