2016-09-15 3 views
1

3〜10秒で動作するキーの組み合わせctrl + aがあります。ユーザーが同じキーストロークを押すと、要求がすべての要求のcame.Following iはキーストローク同じキーストロークのEventListenerの実行中にZKの特定のキーストロークを無効にする方法

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); 
に聴いていますかどのようにのためにキューに入れられ、実行されているが起こる[または任意のキー・オプション]キー、要求は今taken.Whatしてはなりません

keylistenerは2〜10秒かかります。ZKOSSでも可能ですか?遅延可能なリスナーを試しましたが、非遅延イベントが発生するまでイベントを完全に遅延させます。

答えて

0

質問も尋ねた:http://forum.zkoss.org/question/101508/disable-multiple-pressing-on-a-keystroke-untill-previous-request-completes/

を私が最初の場所でのキーのためにあなたのEventHandlerを削除または無効に示唆しています。
その後、効果的なビジネスロジックをトリガーするイベントをエコーし​​ます。

エコーする理由は、ビジネスロジックを開始する前に無効化キーがクライアントに伝播されるためです。 bussinesロジックが完了したら、キーのイベントリスナーを再度有効にするか、または追加できます。

関連する問題