jQuery 虚拟键盘 - 设置左箭头和右箭头

Posted

技术标签:

【中文标题】jQuery 虚拟键盘 - 设置左箭头和右箭头【英文标题】:jQuery Virtual Keyboard - set Arrow LEFT and Arrow Right 【发布时间】:2013-10-21 09:50:00 【问题描述】:

我花时间创建了一个 jQuery 虚拟键盘,当焦点设置为输入时它会显示它。我几乎完成了从键盘到工作的所有按钮,但我坚持为按键制作功能:Arrow LeftArrow Right

请懂 jQuery 的人帮助我了解如何为左箭头和右箭头执行这些功能。不知何故,我知道需要在输入字段中识别光标的位置,并且需要以某种方式将其移动 +1 或 -1。

关于我的虚拟键盘的示例详情请看here。


已解决:我找到了正确的解决方案。 最终工作的SCRIPT is here。

【问题讨论】:

类似改变光标位置的东西?如果是的话,这个链接可以帮助你Click Here 在输入框内左右移动光标 或者你可以使用jquery Caret 我认为它比设置光标位置更复杂。该函数需要找到当前光标位置在哪里,而不是用+1或-1字符改变位置。我知道插入符号可能会有所帮助。但是我没有足够的经验来理解如何制作我上面描述的功能。非常感谢您的努力!!! 没错。这就是你所需要的。你可以使用他们的代码。看看他们是如何实现的。顺便说一句,你的键盘看起来不错;] 【参考方案1】:

这里是一个例子:

function setSelectionRange(input, selectionStart, selectionEnd) 
  if (input.setSelectionRange) 
    input.focus();
    input.setSelectionRange(selectionStart, selectionEnd);
  
  else if (input.createTextRange) 
    var range = input.createTextRange();
    range.collapse(true);
    range.moveEnd('character', selectionEnd);
    range.moveStart('character', selectionStart);
    range.select();
  


function setCaretToPos (input, pos) 
  setSelectionRange(input, pos, pos);

感谢:来自this post的CMS

编辑:

function getCaretPos(input) 
    // Internet Explorer Caret Position (TextArea)
    if (document.selection && document.selection.createRange) 
        var range = document.selection.createRange();
        var bookmark = range.getBookmark();
        var caret_pos = bookmark.charCodeAt(2) - 2;
     else 
        // Firefox Caret Position (TextArea)
        if (input.setSelectionRange)
            var caret_pos = input.selectionStart;
    

    return caret_pos;

来自this postPandincus 的致谢

jsFiddle

【讨论】:

非常感谢你的帖子——我已经见过了。这个例子是如何设置光标出现在位置 4 ......但我需要一种方法来识别当前位置并将光标移动到其他位置......你的例子可能在第二部分很有用......当,我知道光标的位置,然后从当前位置更改为我想要的位置... 查看我的更新人...如果我的回答对您有帮助,您可以接受:] 下次在 google 上进行一点搜索时,可以像我一样在 2 分钟内解决您的问题。

以上是关于jQuery 虚拟键盘 - 设置左箭头和右箭头的主要内容,如果未能解决你的问题,请参考以下文章

到达最后一张幻灯片时,使用键盘左箭头键不应向左滚动

猫头鹰旋转木马2 - 如何在幻灯片放映之外获得左箭头和右箭头?

键盘箭头的扫描码是啥? (右、左、下、上)

安卓手机虚拟键盘怎么关闭

手机箭头键怎么设置

cenros如何设置linux虚拟机里的鼠标箭头大小