Как определить первый символ ввода при нажатии клавиши ()

0

Я использую jquery function keypress для моего поля ввода

Теперь скажем, что я хочу знать, когда пользователь набирает букву, если это первый символ в поле. Теперь я использую что-то вроде:

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

Проблема заключается в том, когда пользователь выбирает текст, который набирается, а затем нажимает клавишу (скажем, для символа "А"), который ее заменяет. Затем этот код возвращает длину текста old- (скоро будет заменен).

Я знаю, что вместо этого я мог бы использовать keyup, но я думаю, что мне нужно остаться с нажатием клавиши, потому что я должен сделать некоторые проверки для нажатых физических клавиш. (этот ответ действительно показывает разницу между keyup и keypress в этом случае)

Какие-либо предложения?

Теги:
keypress

1 ответ

1
Лучший ответ

Пользователь Павел С. поставил меня в правильном направлении...

Это то, что у меня есть сейчас, и это работает:

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

Таким образом, я обнаруживаю, когда нажата клавиша, когда каретка была только в начале поля.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню