2016-05-06 3 views
0

С полем <input type="number">, в стиле text-align: center, он отлично работает с цифровым вводом, но перемещает курсор влево от поля ввода, если ему задан буквенно-цифровой символ (хотя это не отображается).Номер HTML-ввода перемещает курсор от центра при вводе букв

JsFiddle: http://jsfiddle.net/jbe55o0g/

Как это может быть предотвращено таким образом, что курсор остается в центре?

ответ

2

Когда вы используете <input type="number"> только для чисел, вы можете разрешить только числовой ввод с использованием javascript. Теперь курсор остается в центре:

input[type=number]{ 
 
    width: 100px; 
 
    text-align:center; 
 
}
<input type="number" onkeypress='return event.charCode >= 48 && event.charCode <= 57'>

+1

Спасибо. Просто хотелось бы упомянуть, что MDN говорит, что charCode устарел и рекомендует KeyboardEvent.key. – bewmar

0

Если вы используете JQuery, или готовы использовать, и не хотите быть сочинительства, что линия на все входы числа, вы можете использовать следующий код:

$(document.body).on('keypress',"input[type='number']", function(event){ 
    return event.charCode >= 48 && event.charCode <= 57; 
}) 

Это сделает тот же эффект, добавив атрибут OnKeyPress, фиксируя вопрос центра вы имеете.

Смежные вопросы