【问题标题】:How to know at which position the blinking pipe character is in a string?如何知道闪烁的管道字符在字符串中的哪个位置?
【发布时间】:2014-10-01 09:15:55
【问题描述】:

我想知道按键时是否有可能知道输入值在哪个位置。

假设我有一个文本字段。

<input id="name" type="text">

如果右箭头键仅在字符串的末尾被按下,我想要一些东西,如果左箭头键在它们的开头被按下,我想要别的东西输入值。我希望能够做到这样:

$("#name").keyup( function(e) {
    if( e.which === 37 ) { // left
         if( isAtBeginningOfInputValue ) {
             // Do something
         }
    } else if( e.which === 39 ) { // right
         if( isAtEndOfInputValue ) {
             // Do something else
         }
    }
});

这可能吗?

【问题讨论】:

标签: jquery input keyevent indexof arrow-keys


【解决方案1】:

这个闪烁的瘦的正确术语是caret

这里有一个获取 textarea-elements 的函数

function GetCaretPosition (ctrl) {

    var CaretPos = 0;  
    // IE Support

    if (document.selection) {

    ctrl.focus ();

    var Sel = document.selection.createRange ();

    Sel.moveStart ('character', -ctrl.value.length);

    CaretPos = Sel.text.length;

    }

    // Firefox support

    else if (ctrl.selectionStart || ctrl.selectionStart == '0')

    CaretPos = ctrl.selectionStart;

    return (CaretPos);

}

【讨论】:

  • 哦……这就是为什么我什么都没找到……好吧,还是谢谢你!
猜你喜欢
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 2023-02-08
  • 2014-02-01
  • 2012-02-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-21
相关资源
最近更新 更多