Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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_Jquery_Focus_Caret - Fatal编程技术网

Javascript 防止在单击输入时失去焦点

Javascript 防止在单击输入时失去焦点,javascript,jquery,focus,caret,Javascript,Jquery,Focus,Caret,我正在jQuery中开发一个虚拟键盘,我的问题是: 当我单击键盘上的某个键时,输入在单击过程中失去焦点,如果输入中的字母数大于输入大小,则输入显示字符串的开头。然后,当点击被释放时,输入返回焦点,插入符号到达字符串的末尾。所以这很难看,因为我们觉得输入内容会闪烁 theButtonDiv.click(function() { attachedInput.value = idOfAttachedInput.value + theActualKey; attachedInput.fo

我正在jQuery中开发一个虚拟键盘,我的问题是:

当我单击键盘上的某个键时,输入在单击过程中失去焦点,如果输入中的字母数大于输入大小,则输入显示字符串的开头。然后,当点击被释放时,输入返回焦点,插入符号到达字符串的末尾。所以这很难看,因为我们觉得输入内容会闪烁

theButtonDiv.click(function() {
    attachedInput.value = idOfAttachedInput.value + theActualKey;
    attachedInput.focus();
});
所以我想防止当我们点击键盘上的按钮时,输入失去焦点

我该怎么做


谢谢。

我想您正在寻找一个名为
outline
的CSS属性

#yourinput {
    outline: none;
}

这应该能够在框具有焦点时使其高亮显示。

一种方法是在顶级键盘节点上侦听“mousedown”事件,并在事件对象上调用
preventDefault

您可以尝试使用.setInterval并让函数将焦点设置为相关的文本框。就设置的容易程度而言,这相对来说是比较轻松的,但我敢打赌还有更简洁的答案。你可能只需要设置光标/插入符号的位置,而不是聚焦字段。看看这个。我的解决方案解决了问题吗?你不是想让这个答案出现在一个不同的问题上,就是你误解了他在问什么。这是可行的,但请记住,当使用这个方法时,选择里面的任何东西都不再有效。