Я работаю над проектом проверки, и в настоящее время он настроен так, что мои входные данные перечислены как объекты.В настоящее время у меня есть этот код для настройки и запуска событий:
метод настройки и используемые функции
function setup(obj) {
obj.getElement().onfocus = function() {startVal(obj)}
obj.getElement().onblur = function() {endVal(obj)}
}
function startVal(obj) {
obj.getElement().onkeyup = validate(obj)
}
function endVal(obj) {
obj.getElement().onkeyup = ""
}
Обратите внимание на то, как он у меня, где onkeyup
событие должно устанавливаться, когда объект получает фокус, однако когда я активирую ввод, он действует так, как будто я пометил функцию validate()
непосредственно на onfocus
, и он проверяется только тогда, когда я первоначально фокусирую ввод.
edit причина, по которой я настроил его таким образом, заключается в том, что у меня не каждый из моих элементов формы проверяется каждый раз, когда я запускаю событие onkeyup
(которое будетмного, так как формы обычно включают в себя приличное количество печатания).Я заставил его работать, просто прикрепив функцию validate()
к событию onkeyup
.Я бы предпочел ограничить это таким образом, чтобы не было ненужной обработки.
Не можете ли вы установить события с другими событиями или есть что-то более конкретное, что я делаю неправильно?
Любая помощь приветствуется!
Вот некоторая дополнительная информация, которая может помочь:
Метод getElement
function getElement() {
return document.getElementById(this.id)
}
Функция setEvents
function setEvents() {
firstName.setup(firstName)
}