Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多输入字段的虚拟键盘_Javascript_Html_Jquery_Virtual Keyboard - Fatal编程技术网

Javascript 多输入字段的虚拟键盘

Javascript 多输入字段的虚拟键盘,javascript,html,jquery,virtual-keyboard,Javascript,Html,Jquery,Virtual Keyboard,我发现了这个名为“简单键盘”的虚拟键盘,它只适用于一个输入字段。来自键盘的输入仅插入第一个文本字段 HTML 资料来源: 如何使用class=“input”?使其适用于所有输入字段问题在于querySelector()只返回与选择器匹配的单个项。如果存在多个,则只返回第一个 要解决问题,您需要使用queryselectoral(),它提供了所有匹配元素的集合,然后您需要通过循环来初始化该集合中所有输入的库 document.querySelectorAll(".input")

我发现了这个名为“简单键盘”的虚拟键盘,它只适用于一个输入字段。来自键盘的输入仅插入第一个文本字段

HTML

资料来源:


如何使用
class=“input”

使其适用于所有输入字段问题在于
querySelector()
只返回与选择器匹配的单个项。如果存在多个,则只返回第一个

要解决问题,您需要使用
queryselectoral()
,它提供了所有匹配元素的集合,然后您需要通过循环来初始化该集合中所有输入的库

document.querySelectorAll(".input").forEach(input => {
  input.addEventListener("input", event => {
    keyboard.setInput(event.target.value);
  });
})
每当我尝试输入时,它只会进入第一个文本字段。。。即使我在尝试键盘时选择了第二个输入字段。。。不起作用

考虑到该注释,库可能不支持每个实例的多个控件。相反,您可能需要为每个控件创建一个完整的
键盘
实例。这也需要在循环中完成:

document.querySelector(".input").addEventListener("input", event => {
  let keyboard = new Keyboard({
    onChange: input => onChange(input),
    onKeyPress: button => onKeyPress(button)
  });
  keyboard.setInput(event.target.value);
});

问题是因为
querySelector()
只返回与选择器匹配的单个项。如果存在多个,则只返回第一个

要解决问题,您需要使用
queryselectoral()
,它提供了所有匹配元素的集合,然后您需要通过循环来初始化该集合中所有输入的库

document.querySelectorAll(".input").forEach(input => {
  input.addEventListener("input", event => {
    keyboard.setInput(event.target.value);
  });
})
每当我尝试输入时,它只会进入第一个文本字段。。。即使我在尝试键盘时选择了第二个输入字段。。。不起作用

考虑到该注释,库可能不支持每个实例的多个控件。相反,您可能需要为每个控件创建一个完整的
键盘
实例。这也需要在循环中完成:

document.querySelector(".input").addEventListener("input", event => {
  let keyboard = new Keyboard({
    onChange: input => onChange(input),
    onKeyPress: button => onKeyPress(button)
  });
  keyboard.setInput(event.target.value);
});

尝试了你的代码。。。每当我尝试输入时,它只会进入第一个文本字段。。。即使我在尝试键盘时选择了第二个输入字段。。。不工作:(在这种情况下,您可能需要为每个输入创建一个完整的
键盘
对象实例。我在这里找到了一个文档…只是想理解它。您也可以看一看吗?嘿@RedStarEntertainment,很抱歉耽搁了,我刚刚在Google上找到了这个问题。如果您遇到这样的问题,这里是支持多个输入的文档任何问题都可以在github repo中报告,我会立即回复。谢谢!尝试了您的代码…每当我尝试输入时,它只会进入第一个文本字段…即使我在尝试键盘时选择了第二个输入字段…不起作用:(在这种情况下,您可能需要为每个输入创建一个完整的
键盘
对象实例。我在这里找到了一个文档…只是想理解它。您也可以看一看吗?嘿@RedStarEntertainment,很抱歉耽搁了,我刚刚在Google上找到了这个问题。如果您遇到这样的问题,这里是支持多个输入的文档任何问题都可以在github回购中报告,我会立即回复。谢谢!