【Flash8 ActionScript】

Flashでチャットを作っています。
通常のチャットのように、テキストフィールドでエンターキーを押した時に処理(テキストフィールドのデータを拾って云々かんぬん)を行う事を考えています。

現在詰まっているのが、マウスのフォーカスがテキストフィールドにある場合、Flashのキーイベントが反応しないという点です。
(ボタンでのCGIへのデータの受け渡しは出来ました)

今のところon(keyPress)とかKeyCodeとか試してみたのですが、やっぱりダメなようです。
どうもテキストフィールドにカーソルがあるうちは、エンターキーを押しても改行としか認識されていないっぽいです。

こういう場合、どのような解決法があるもんでしょうか?

類似した仕組みの作り方を紹介しているサイトやTIPS、なんでもかまいませんので、回答頂ければと思います。

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:2007/06/25 18:19:05
  • 終了:2007/06/26 11:18:34

ベストアンサー

id:NYO No.1

NYO回答回数35ベストアンサー獲得回数82007/06/25 21:11:54

ポイント60pt

onKeyDownとKey.getCode()==13を組み合わせれば可能だと思います。

▼AdobeLiveDocs onKeyDown

http://livedocs.adobe.com/flash/8_jp/main/wwhelp/wwhimpl/common/...

上記のページのコードでどうでしょうか?

id:schahrazade

出来ましたよー。

結局、フレームアクションに以下を記載しました。

var keyListener:Object = new Object();

keyListener.onKeyDown = function() {

if(Key.getCode() == 13){

trace("エンターだけー");

}

};

Key.addListener(keyListener);

これで、コンポーネント、テキスト入力フィールド問わず、フォーカスされている時にエンターキーを拾う事が出来ました。

アドバイス、ありがとうございました。

2007/06/26 11:17:59
  • id:NYO
    1の追記です。
    TextFieldを利用しているとのことなので、
    TextField.onChangedの中に上記のonKeyDownを入れれば
    意図しないEnter押を除外できるはずです。

    少なくともこちらでは動作しました。

    また、コンポーネントの利用がOKでしたら、
    TextInputを使用してTextInput.enterイベントでEnter押を簡単に検知できます。

    がんばってください

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません