Javascript 防止在单击输入时失去焦点
我正在jQuery中开发一个虚拟键盘,我的问题是: 当我单击键盘上的某个键时,输入在单击过程中失去焦点,如果输入中的字母数大于输入大小,则输入显示字符串的开头。然后,当点击被释放时,输入返回焦点,插入符号到达字符串的末尾。所以这很难看,因为我们觉得输入内容会闪烁Javascript 防止在单击输入时失去焦点,javascript,jquery,focus,caret,Javascript,Jquery,Focus,Caret,我正在jQuery中开发一个虚拟键盘,我的问题是: 当我单击键盘上的某个键时,输入在单击过程中失去焦点,如果输入中的字母数大于输入大小,则输入显示字符串的开头。然后,当点击被释放时,输入返回焦点,插入符号到达字符串的末尾。所以这很难看,因为我们觉得输入内容会闪烁 theButtonDiv.click(function() { attachedInput.value = idOfAttachedInput.value + theActualKey; attachedInput.fo
theButtonDiv.click(function() {
attachedInput.value = idOfAttachedInput.value + theActualKey;
attachedInput.focus();
});
所以我想防止当我们点击键盘上的按钮时,输入失去焦点
我该怎么做
谢谢。我想您正在寻找一个名为
outline
的CSS属性
#yourinput {
outline: none;
}
这应该能够在框具有焦点时使其高亮显示。一种方法是在顶级键盘节点上侦听“mousedown”事件,并在事件对象上调用
preventDefault
。您可以尝试使用.setInterval并让函数将焦点设置为相关的文本框。就设置的容易程度而言,这相对来说是比较轻松的,但我敢打赌还有更简洁的答案。你可能只需要设置光标/插入符号的位置,而不是聚焦字段。看看这个。我的解决方案解决了问题吗?你不是想让这个答案出现在一个不同的问题上,就是你误解了他在问什么。这是可行的,但请记住,当使用这个方法时,选择里面的任何东西都不再有效。