Как отключить определенное нажатие клавиши в ZK во время выполнения EventListener того же нажатия клавиши
У меня есть комбинация клавиш ctrl+a, которая выполняет некоторую работу за 3-10 секунд. В течение этого периода времени, я хочу, если пользователь нажимает ту же клавишу [или любую дополнительную клавишу], запрос не будет принят. Какое право теперь происходит, когда запрос ставится в очередь и выполняется в порядке того, как все запросы поступили. Следующие - как я слушаю нажатия клавиш
win.setCtrlKeys("@b@g@i@k@l@n@o@p@r@s@u^x^a^c^z^1^2^#up^#down");
win.addEventListener("onCtrlKey", keylistener);
Keylistener занимает 2-10 секунд. Возможно ли это в ZKOSS? Я пытался отложить слушателей, но это полностью задерживает события до тех пор, пока не будет запущено событие без задержки.
1 ответ
Вопрос также задавался: http://forum.zkoss.org/question/101508/disable-multiple-pressing-on-a-keystroke-untill-previous-request-completes/
Я предлагаю удалить или отключить ваш обработчик событий для ключей в первую очередь.
После этого вы выводите событие, которое активирует эффективную бизнес-логику.
Причина повторения заключается в том, что блокирующие ключи будут переданы клиенту до начала бизнес-логики. После завершения бизнес-логики вы можете снова включить или добавить список событий для ключей.