#javascript #jquery
#javascript #jquery
Вопрос:
Я использовал event.key
весь день, и теперь внезапно это дает мне undefined
. Я на 100% уверен, что ранее сегодня он выдал мне нажатую клавишу. Есть идеи, что могло произойти или что-то не так с кодом?
$records_inputs
это набор входных данных!
$records_inputs.on("input", function(e) {
var pattern_only_digits = /[0-9]/;
var input_value = $(this).val();
alert(e.which " " e.key " " e.keyCode);
if (e.keyCode != 8 amp;amp; !pattern_only_digits.test(e.key)) {
e.preventDefault();
}
console.log(e);
//$(this).val(numberFormatFromString(removeDotsFromString(input_value)));
});
Комментарии:
1. используйте события нажатия клавиш
2. @PranavCBalan работает!! почему? можете ли вы объяснить?
Ответ №1:
which
Свойство доступно только для событий клавиатуры, таких как keydown
, keypress
, или keyup
события. Поэтому используйте эти события в соответствии с вашими потребностями, чтобы получить нажатую клавишу.
$records_inputs.on("keypress", function(e) {
К вашему сведению: также предлагается использовать key
свойство вместо which
свойства, поскольку which
оно устарело.
Доступные свойства InputEvent перечислены здесь.