私はキーボードイベントのためにステージに耳を傾けたいと思います。イベントが出現すると(バブリングやターゲットではなく)直接イベントをキャッチしたいと思います。なぜ私はこれをすることができないのですか?なぜStage.addEventListener(KeyboardEvent.KEY_DOWN、onKeyDown、true)が機能しないのですか?
実際には、キーボードイベントには全くuseCapture
を使用できないようです。
チルダボタンを押して内部コンソールウィンドウを開き、フォーカスを入力フィールドに変更したいとします。だから、私はこの問題は、それは私がそれを行うにはしたくない、私の入力で「`」の文字を、書き込みされてこの
public function init(stage:Stage):void
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, onStageKeyDown);
}
private function onStageKeyDown(event:KeyboardEvent):void
{
event.stopImmediatePropagation();
switch(event.keyCode)
{
case Keyboard.BACKQUOTE:
visible = !visible;
stage.focus = visible ? inputField : stage;
break;
}
}
のようなものを書きました。そこで、キャプチャフェーズでキーボードイベントを聞き取り、その伝播を止めることにしました。しかし、ステージの前にノードがないので、ステージにはキャプチャフェーズがないようです。どのように私はその状況を適切に処理できますか?
で受け取った記号を入力しないことを意味し、
preventDefault()
行動、ですか。おそらく、あなたの現在のアプリケーションについて説明し、関連するソースコードを示したら、誰かが実際にあなたを助けます... – BadFeelingAboutThis更なる情報を投稿してください – user1496491