| パッケージ | flash.events |
| クラス | public class TextEvent |
| 継承 | TextEvent Event Object |
| サブクラス | DataEvent, ErrorEvent, IMEEvent |
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
TextEvent.LINK および TextEvent.TEXT_INPUT
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | bubbles : Boolean
[read-only]
イベントがバブリングイベントかどうかを示します。
| Event | |
![]() | cancelable : Boolean
[read-only]
イベントに関連付けられた動作を回避できるかどうかを示します。
| Event | |
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
![]() | currentTarget : Object
[read-only]
イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
| Event | |
![]() | eventPhase : uint
[read-only]
イベントフローの現在の段階です。
| Event | |
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
![]() | target : Object
[read-only]
イベントターゲットです。
| Event | |
| text : String
textInput イベントの場合は、ユーザーが入力した文字または文字の連続です。
| TextEvent | ||
![]() | type : String
[read-only]
イベントのタイプです。
| Event | |
| メソッド | 定義元 | ||
|---|---|---|---|
|
テキストイベントに関する情報を含む Event オブジェクトを作成します。
| TextEvent | ||
|
TextEvent オブジェクトのコピーを作成して、各プロパティの値を元のプロパティの値と一致するように設定します。
| TextEvent | ||
![]() |
カスタム Event クラスに toString() メソッドを実装するためのユーティリティ関数です。
| Event | |
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() |
イベントで preventDefault() が呼び出されたかどうかを確認します。
| Event | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() |
イベントのデフォルトの動作をキャンセルできる場合に、その動作をキャンセルします。
| Event | |
![]() |
指定されたプロパティが存在し列挙できるかどうかを示します。
| Object | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
![]() |
イベントフローの現在のノードおよび後続するノードで、イベントリスナーが処理されないようにします。
| Event | |
![]() |
イベントフローの現在のノードに後続するノードで、イベントリスナーが処理されないようにします。
| Event | |
|
TextEvent オブジェクトのすべてのプロパティを含むストリングを返します。
| TextEvent | ||
![]() |
指定されたオブジェクトのプリミティブな値を返します。
| Object | |
| 定数 | 定義元 | ||
|---|---|---|---|
![]() | ACTIVATE : String = "activate" [static]
activate イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | ADDED : String = "added" [static]
added イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | ADDED_TO_STAGE : String = "addedToStage" [static]
addedToStage イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | CANCEL : String = "cancel" [static]
cancel イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | CHANGE : String = "change" [static]
change イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | CLOSE : String = "close" [static]
close イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | COMPLETE : String = "complete" [static]
complete イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | CONNECT : String = "connect" [static]
connect イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | DEACTIVATE : String = "deactivate" [static]
deactivate イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | ENTER_FRAME : String = "enterFrame" [static]
enterFrame イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | FULLSCREEN : String = "fullScreen" [static]
fullScreen イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | ID3 : String = "id3" [static]
id3 イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | INIT : String = "init" [static]
init イベントオブジェクトの type プロパティの値を定義します。
| Event | |
| LINK : String = "link" [static]
link イベントオブジェクトの type プロパティ値を定義します。
| TextEvent | ||
![]() | MOUSE_LEAVE : String = "mouseLeave" [static]
mouseLeave イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | OPEN : String = "open" [static]
open イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | REMOVED : String = "removed" [static]
removed イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | REMOVED_FROM_STAGE : String = "removedFromStage" [static]
removedFromStage イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | RENDER : String = "render" [static]
render イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | RESIZE : String = "resize" [static]
resize イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | SCROLL : String = "scroll" [static]
scroll イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | SELECT : String = "select" [static]
select イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | SOUND_COMPLETE : String = "soundComplete" [static]
soundComplete イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | TAB_CHILDREN_CHANGE : String = "tabChildrenChange" [static]
tabChildrenChange イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | TAB_ENABLED_CHANGE : String = "tabEnabledChange" [static]
tabEnabledChange イベントオブジェクトの type プロパティ値を定義します。
| Event | |
![]() | TAB_INDEX_CHANGE : String = "tabIndexChange" [static]
tabIndexChange イベントオブジェクトの type プロパティ値を定義します。
| Event | |
| TEXT_INPUT : String = "textInput" [static]
textInput イベントオブジェクトの type プロパティ値を定義します。
| TextEvent | ||
![]() | UNLOAD : String = "unload" [static]
unload イベントオブジェクトの type プロパティ値を定義します。
| Event | |
| text | プロパティ |
text:String [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
textInput イベントの場合は、ユーザーが入力した文字または文字の連続です。link イベントの場合、event 属性 (href 属性) のテキストです。この属性は、<a> タグに含まれます。
public function get text():String
public function set text(value:String):void
link イベントが送出されるようにするものです。
import flash.text.TextField;
import flash.events.TextEvent;
var tf:TextField = new TextField();
tf.htmlText = "<a href='event:myEvent'>Click Me.</a>";
tf.addEventListener("link", clickHandler);
addChild(tf);
function clickHandler(e:TextEvent):void {
trace(e.type); // link
trace(e.text); // myEvent
}
| TextEvent | () | コンストラクタ |
public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストイベントに関する情報を含む Event オブジェクトを作成します。イベントリスナーには Event オブジェクトがパラメータとして渡されます。
パラメータtype:String — イベントのタイプです。イベントリスナーは、継承された type プロパティを通じてこの情報にアクセスできます。有効な値は次のとおりです。TextEvent.LINK および TextEvent.TEXT_INPUT
|
|
bubbles:Boolean (default = false) — Event オブジェクトがイベントフローのバブリング段階で処理されるかどうかを判断します。イベントリスナーは、継承された bubbles プロパティを通じてこの情報にアクセスできます。
|
|
cancelable:Boolean (default = false) — Event オブジェクトがキャンセル可能かどうかを判断します。イベントリスナーは、継承された cancelable プロパティを通じてこの情報にアクセスできます。
|
|
text:String (default = "") — ユーザーが入力したテキストの 1 つ以上の文字です。イベントリスナーは、text プロパティを通じてこの情報にアクセスできます。
|
関連項目
| clone | () | メソッド |
public override function clone():Event
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
TextEvent オブジェクトのコピーを作成して、各プロパティの値を元のプロパティの値と一致するように設定します。
戻り値Event — 元のオブジェクトと同じプロパティ値を含む新しい TextEvent オブジェクトです。
|
| toString | () | メソッド |
public override function toString():String
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
TextEvent オブジェクトのすべてのプロパティを含むストリングを返します。ストリングは次の形式です。
[TextEvent type=value bubbles=value cancelable=value text=value]
String — TextEvent オブジェクトのすべてのプロパティを含むストリングです。
|
| LINK | 定数 |
public static const LINK:String = "link"
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
type プロパティ (link イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | true |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | クリックされたハイパーリンクを含むテキストフィールドです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。 |
text | "event:" の後の URL の残りの部分は、 |
関連項目
テキストフィールドが作成され、その内容が htmlText プロパティを使用して HTML 形式のストリングに設定されます。リンクには、識別しやすいように下線が付けられています。Flash Player では、マウスをリンク上に移動したときにのみ、マウスポインタの形が変更します。ユーザーがマウスをクリックしたときに、ActionScript メソッドが確実に起動されるようにするために、リンクの URL はストリング "event:" で始まり、TextEvent.LINK イベントにリスナーを追加します。
ユーザーがリンクをクリックするとトリガされる linkHandler() メソッドは、そのテキストフィールドに対するすべてのリンクイベントを管理します。最初の if ステートメントでイベントの text プロパティが調べられます。このプロパティには、ストリング "event:" 以降の URL の残りの部分が格納されています。ユーザーがオペレーティングシステムのリンクをクリックした場合、システムの Capabilities.os プロパティから取得されるユーザーの現在のオペレーティングシステムの名前を使用して、指定の Web サイトにユーザーが転送されます。それ以外の場合、イベントの text プロパティを介して渡された、選択した半径サイズを使用して、テキストフィールドの下に円が描画されます。ユーザーが半径のリンクをクリックするたびに以前の円が消去され、選択した半径サイズで新しい赤い円が描画されます。
package {
import flash.display.Sprite;
import flash.events.TextEvent;
import flash.errors.IOError;
import flash.events.IOErrorEvent;
import flash.system.Capabilities;
import flash.net.navigateToURL;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.display.Shape;
import flash.display.Graphics;
public class TextEvent_LINKExample extends Sprite {
private var myCircle:Shape = new Shape();
public function TextEvent_LINKExample() {
var myTextField:TextField = new TextField();
myTextField.autoSize = TextFieldAutoSize.LEFT;
myTextField.multiline = true;
myTextField.background = true;
myTextField.htmlText = "Draw a circle with the radius of <u><a href=\"event:20\">20 pixels</a></u>.<br>"
+ "Draw a circle with the radius of <u><a href=\"event:50\">50 pixels</a></u>.<br><br>"
+ "<u><a href=\"event:os\">Learn about your operating system.</a></u><br>";
myTextField.addEventListener(TextEvent.LINK, linkHandler);
this.addChild(myTextField);
this.addChild(myCircle);
}
private function linkHandler(e:TextEvent):void {
var osString:String = Capabilities.os;
if(e.text == "os") {
if (osString.search(/Windows/) != -1 ){
navigateToURL(new URLRequest("http://www.microsoft.com/"), "_self");
}else if (osString.search(/Mac/) != -1 ) {
navigateToURL(new URLRequest("http://www.apple.com/"), "_self");
} else if (osString.search(/linux/i)!= -1) {
navigateToURL(new URLRequest("http://www.tldp.org/"), "_self");
}
} else {
myCircle.graphics.clear();
myCircle.graphics.beginFill(0xFF0000);
myCircle.graphics.drawCircle(100, 150, Number(e.text));
myCircle.graphics.endFill();
}
}
}
}| TEXT_INPUT | 定数 |
public static const TEXT_INPUT:String = "textInput"
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
type プロパティ (textInput イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | true |
cancelable | true は、preventDefault() メソッドを呼び出して、デフォルトの動作をキャンセルします。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 文字が入力されるテキストフィールドです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。 |
text | ユーザーが入力した文字または文字の連続です。 |
関連項目
事前の使用説明、ユーザー入力、および警告 (エラー) メッセージの 3 つのテキストフィールドが作成されます。textInputHandler() メソッドをトリガすることでユーザーのテキスト入力に応答するために、イベントリスナーが追加されます。ユーザーが入力するたびに、TextEvent.TEXT_INPUT イベントが送出されます。テキストイベントは、ユーザーがテキスト文字を入力し、その入力が Backspace など、キーボード入力への対応ではない場合に送出されます。すべてのキーボードイベントをキャッチするには、KeyboardEvent イベントを使用する必要があります。
textInputHandler() メソッドは、ユーザー入力を制御および管理します。まず、preventDefault() メソッドを使用して、テキストが直ちに入力テキストフィールドに表示されないようにします。次に、プログラムによってフィールドを更新します。ユーザーが新しいテキストを入力した場合は、既に入力済みの文字 (result ストリング) に対するユーザーの削除操作または変更操作を元に戻すために、入力テキストフィールドの内容が result ストリングに再割り当てされます。また、ユーザーの操作性に一貫性を持たせるために、setSelection() メソッドによって、テキストフィールド内の最後に選択された文字の後に挿入ポインタ (キャレット) の位置が配置されます。
textInputHandler() メソッドの最初の if ステートメントにより、入力の組み合わせキーの 2 文字目と 5 文字目が調べられます。これらは数字である必要があります。ユーザー入力が正しい場合、updateCombination() メソッドが呼び出され、組み合わせキーストリング (result) がユーザー入力の後に追加されます。また、updateCombination() メソッドにより、挿入ポインタの位置が選択した文字の後に移動されます。7 文字が入力されると、textInputHandler() メソッドの最後の if ステートメントにより、inputTextField テキストフィールドの種類が INPUT から DYNAMIC に変更されます。これは、ユーザーが内容を入力または変更できなくなったことを示します。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.text.TextFieldAutoSize;
import flash.events.TextEvent;
public class TextEvent_TEXT_INPUTExample extends Sprite {
private var instructionTextField:TextField = new TextField();
private var inputTextField:TextField = new TextField();
private var warningTextField:TextField = new TextField();
private var result:String = "";
public function TextEvent_TEXT_INPUTExample() {
instructionTextField.x = 10;
instructionTextField.y = 10;
instructionTextField.background = true;
instructionTextField.autoSize = TextFieldAutoSize.LEFT;
instructionTextField.text = "Please enter a value in the format A#AA#AA,\n"
+ "where 'A' represents a letter and '#' represents a number.\n" +
"(Note that once you input a character you can't change it.)" ;
inputTextField.x = 10;
inputTextField.y = 70;
inputTextField.height = 20;
inputTextField.width = 75;
inputTextField.background = true;
inputTextField.border = true;
inputTextField.type = TextFieldType.INPUT;
warningTextField.x = 10;
warningTextField.y = 100;
warningTextField.autoSize = TextFieldAutoSize.LEFT;
inputTextField.addEventListener(TextEvent.TEXT_INPUT, textInputHandler);
this.addChild(instructionTextField);
this.addChild(inputTextField);
this.addChild(warningTextField);
}
private function textInputHandler(event:TextEvent):void {
var charExp:RegExp = /[a-zA-z]/;
var numExp:RegExp = /[0-9]/;
event.preventDefault();
inputTextField.text = result;
inputTextField.setSelection(result.length + 1, result.length + 1);
if (inputTextField.text.length == 1 || inputTextField.text.length == 4) {
if(numExp.test(event.text) == true) {
updateCombination(event.text);
} else {
warningTextField.text = "You need a single digit number.";
}
}else {
if(charExp.test(event.text) == true) {
updateCombination(event.text);
} else {
warningTextField.text = "You need an alphabet character.";
}
}
if(inputTextField.text.length == 7) {
inputTextField.type = TextFieldType.DYNAMIC;
instructionTextField.text = "CONGRATULATIONS. You've done.";
}
}
private function updateCombination(s:String):void {
warningTextField.text = "";
result += s;
inputTextField.text = result;
inputTextField.setSelection(result.length + 1, result.length + 1);
}
}
}
init() は、TextField オブジェクトを初期化し、イベントリスナーを追加します。draw() は、TextFields を表示リストに追加し、表示するテキストを割り当てます。linkHandler() と textInputHandler() は、イベントタイプに応じてイベントに反応します。linkHandler() メソッドは、まだ開いていない場合は、Web ブラウザを開き、クリックされた URL に移動します。textInputHandler() メソッドは、関連するテキストフィールドでキーが押されるたびに情報を表示します。メモ : この例に示すドメインは架空のものです。[yourDomain] は実際のドメインに置き換える必要があります。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.text.TextFieldAutoSize;
import flash.events.TextEvent;
import flash.events.TextEvent;
import flash.net.URLRequest;
import flash.net.navigateToURL;
public class TextEventExample extends Sprite {
private const DOMAIN_1_URL:String = "http://www.[yourDomain].com";
private const DOMAIN_2_URL:String = "http://www.[yourDomain].com";
private var linkTxt:TextField;
private var textInputTxt:TextField;
public function TextEventExample() {
init();
draw();
}
private function init():void {
linkTxt = new TextField();
linkTxt.addEventListener(TextEvent.LINK, linkHandler);
linkTxt.height = 60;
linkTxt.autoSize = TextFieldAutoSize.LEFT;
linkTxt.multiline = true;
textInputTxt = new TextField();
textInputTxt.addEventListener(TextEvent.TEXT_INPUT, textInputHandler);
textInputTxt.type = TextFieldType.INPUT;
textInputTxt.background = true;
textInputTxt.border = true;
textInputTxt.height = 20;
}
private function draw():void {
addChild(linkTxt);
linkTxt.htmlText += createLink(DOMAIN_1_URL, "Click to go to first domain");
linkTxt.htmlText += "<br />";
linkTxt.htmlText += createLink(DOMAIN_2_URL, "Click to go to second domain");
addChild(textInputTxt);
textInputTxt.y = linkTxt.height;
textInputTxt.text = "type here";
}
private function createLink(url:String, text:String):String {
var link:String = "";
link += "<font color='#0000FF'>";
link += "<u>";
link += "<b>";
link += "<a href='event:" + url + "'>" + text + "</a>";
link += "</b>";
link += "</u>";
link += "</font>";
return link;
}
private function linkHandler(e:TextEvent):void {
var request:URLRequest = new URLRequest(e.text);
navigateToURL(request);
}
private function textInputHandler(e:TextEvent):void {
trace(">> ============================");
trace(">> e.text: " + e.text);
trace(">> textInputTxt.text: " + textInputTxt.text);
}
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/events/TextEvent.html