В моем приложении мне нужно было создавать собственные всплывающие окна, и при попытке закрыть их я столкнулся с проблемой.Чтобы открыть всплывающее окно, пользователь должен нажать «ENTER» при выборе пункта меню.Оттуда появляется меню, фокусировка кнопки закрытия и закрывается после нажатия «ENTER» при выборе пункта «закрыть» или «отправить».
Когда пользователь пытается закрыть всплывающее окно, оно закрывается, но затем просто заканчивается его открытием снова, так как ключевое событие не используется функцией закрытия.
В настоящее время у меня есть функция ключевого события для событий onkeyup в документе, которая включает навигацию, затем я попытался назначить функцию закрытия всплывающих окон для onclick, onkeyup и onkeypress, но независимо от того, что я пытаюсь, нажимая 'После того, как всплывающее окно закрывается, ENTER всегда завершает выполнение функции события главной клавиши.
Мое текущее быстрое исправление использует два дополнительных логических значения, одно из которых становится истинным после закрытия всплывающего окна, а другое становится истинным послеФункция события основного ключа видит, что первый логический параметр становится истинным (поскольку после закрытия окна только один логический параметр становится истинным, это все равно позволило событию по какой-то причине достичь основной функции).
Поскольку при выходе из всплывающего окна мне нужно будет выбрать один и тот же пункт меню, отменить выбор пункта меню, сохранить его место, а затем вернуться к нему, также потребуется больше глобальных переменных.
Яв основном, просто интересно, есть ли лучший способ сделать это, так как я не хочу, чтобы две дополнительные глобальные переменные плавали вокруг ...