如何在keypress上检测输入的第一个字符()

时间:2014-04-29 10:36:14

标签: javascript jquery keypress

我在输入字段中使用jquery的函数keypress

现在,让我们说我想知道用户何时键入一个字母,如果这是该字段中的第一个字符。我现在使用类似的东西:

element.keypress(function(e){
    //...
    if(elementValue.length()==0){
        //Do something
    }
}

问题是当用户选择键入的文本然后按下一个键(比如说字符' A')替换它。然后,此代码返回旧的(即将被替换)文本的长度。

我知道我可以使用 keyup ,但我认为我需要继续使用按键,因为我必须对按下的物理键进行一些检查。 (this answer在这种情况下确实显示了keyup和keypress之间的区别)

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

用户Paul S.让我朝着正确的方向前进......

这就是我现在所拥有的并且有效:

element.keypress(function(e){
    //...
    if(this.selectionStart==0){
        //Do something
    }
}

这样一来,当插入符号位于字段的开头时,我会检测到按键的时间。