2016-09-15 7 views
1

У меня есть комбинация клавиш ctrl + a, которая работает некоторое время в 3-10 секунд. В течение этого периода времени я хочу, если пользователь нажимает на тот же клавишу [или любую клавишу необязательные], запрос не должен быть taken.What сейчас происходит, запрос в очередь и выполняется в порядке, как все запросы came.Following как я слушаю на нажатия клавишКак отключить определенное нажатие клавиши в ZK во время выполнения одного и того же значка EventListener

win.setCtrlKeys("@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@u^x^a^c^z^1^2^#up^#down"); 
win.addEventListener("onCtrlKey", keylistener); 

keylistener занимает 2-10 секунд. Возможно ли это в ZKOSS? Я пробовал отложенные слушатели, но это полностью задерживает события до тех пор, пока не будет запущено событие без отложенного события.

ответ

0

Вопрос также спросил: http://forum.zkoss.org/question/101508/disable-multiple-pressing-on-a-keystroke-untill-previous-request-completes/

Я предлагаю удаление или отключение вашего EventHandler для ключей в первую очередь.
После этого вы повторяете событие, которое вызовет эффективную бизнес-логику.

Причина эха заключается в том, что ключ отключения будет передаваться клиенту перед началом бизнес-логики. Когда логика bussines будет выполнена, вы можете снова включить или добавить eventlistener для ключей.