В этой статье описывается метод JavaScript, управляющего форматом времени ввода. Поделитесь этим для вашей ссылки. Конкретный анализ заключается в следующем:
Раньше я делал вход JavaScript для управления форматом времени, в основном с использованием событий Keydown и Keyup, но я чувствовал, что письмо было очень сложным, и были ошибки.
Сегодня я узнал о разнице между событиями Keypress и Keydown и Keyup. Это примерно следующее (просто так много знайте в данный момент):
Keydown: запускается при нажатии клавиши. Через событие вы можете получить ключевой код и получить значение перед вводом в текстовое поле;
Keyup: запускается при появлении ключа (выпуск). Ключевой код может быть получен через событие, и значение после ввода из текстового поля может быть получено;
Keypress: Это событие в основном одинаково в Chrome и IE, но Firefox немного отличается;
1. В Chrome и IE: до тех пор, пока нажатые клавиши могут появляться символы в текстовом поле, он будет инициирован (например, входные буквы, цифры, символы и т. Д.), Ключевой код может быть получен через событие, и событие. Ключ не определен; Если персонажи не могут появиться, это не будет запускаться (например, клавиши стрелки, дома, обратное пространство и т. Д.)
2. В Firefox: Клавиши, такие как буквы, числа, символы, направления, обратные пространства и т. Д. Могут запустить все. Ключевое имя можно получить через Event.Key. Если нажатый клавиш может выводить символы, Event.KeyCode равен 0. Если символ не может быть выведен, Event.KeyCode - это соответствующий код ASCII.
Возвращаясь к теме, сначала посмотрите на код (упомянутое выше событие эквивалентно E в следующем коде):
Кода кода следующая: var isff = /firefox/i.test(navigator.useragent);
$ ("input"). On ({
Keyup: function (e) {
!/^[/d:]+$/. test (e.target.value) && (e.target.value = "");
},
keypress: function (e) {
if (isff && e.keycode! == 0) {
/// Нажатие любого клавиши в Firefox запустит событие KeyPress, в то время как в IE/Chrom
/// для Firefox, E.KeyCode! == 0 Нажимает один из обратного пространства, направления, дома и других ключей.
} еще {
if (e.target.value.length> 7)
вернуть ложь;
if (//d{2/.test(e.target.value)) {
e.target.value += ':';
}
var char = string.fromChare (e.keycode === 0? E.which: e.keycode);
if (!/^/d/.test (char))
вернуть ложь;
}
}
});
Isff && e.keycode! == 0 используется для проведения различий между ключами, которые могут выводить символы в Firefox и ключи, которые не могут выводить символы. Поскольку e.keycode в Firefox может не обязательно получить значение, E., который используется вместо этого.
Keyup используется для решения проблемы возможности войти в китайский или буквы при использовании метода ввода.
Используйте string.fromCharcode (), чтобы получить символы, соответствующие коду ASCII.
Я надеюсь, что эта статья будет полезна для каждого программирования JavaScript.