单击输入时防止失去焦点

Sta*_*bug 5 javascript jquery focus caret

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

当我单击键盘上的键时,输入在单击期间失去焦点,如果输入中的字母数大于输入大小,则输入显示字符串的开头.然后当释放点击时,输入返回焦点,插入符号到达字符串的末尾.所以它很难看,因为我们的印象是输入内容闪烁.

theButtonDiv.click(function() {
    attachedInput.value = idOfAttachedInput.value + theActualKey;
    attachedInput.focus();
});
Run Code Online (Sandbox Code Playgroud)

因此,当我们点击键盘按钮时,我想防止输入失去焦点.

我怎样才能做到这一点?

谢谢.

Jak*_*ake 6

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

  • 这是有效的,但请记住,使用它时,选择里面的任何东西都不再起作用。 (3认同)

Cap*_*ack -4

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

#yourinput {
    outline: none;
}
Run Code Online (Sandbox Code Playgroud)

这应该可以解决当框具有焦点时突出显示的问题。