2011-08-05 1 views
2

私は動的に生成するテキストブロックを持っています。それは約2つの文章程度であり、2つの文の中のいくつかの単語だけがイベントを引き起こすことができなければならない。たとえば、私が「牛が月を飛び越えた」ならば、「牛」を上に乗せて何かを鳴らすことができるようにしたいと思います。 TextFieldで遊んだ後に、それをすることができないようです。他の構造(またはハック)を使用することは可能ですか?もしそうなら、どうですか?一部のテキストトリガーイベントをアクションスクリプトで作成する

答えて

3

はい、それは行うことができます。

  • 使用getCharIndexAtPointを展開し、この指標から、カーソル

  • 下の文字のインデックスを取得する(左と右と停止に文字をチェックしますあなたが区切り文字(スペース、昏睡など)に達すると、 カーソルを

  • 最後に見つかった単語に基づいてメッセージを表示します。

ここにいくつかのサンプルコードがあります。私はそれがコンパイルされているかどうかチェックしませんでしたが、それはあなたに一般的なアイデアを与える必要があります:

var fullText = textField.text; 
var index = textField.getCharIndexAtPoint(cursorLoc); 
var delimiters = " \n\r\t,?;!"; // Add a full list of delimiters here 
var left = ""; 
var right = ""; 

for (var i = index - 1; i >= 0; i--) { 
    var c = fullText.charAt(i); 
    if (delimiters.indexOf(c) >= 0) break; 
    left = c + left; 
} 

for (var i = index + 1; i < fullText.length; i++) { 
    var c = fullText.charAt(i); 
    if (delimiters.indexOf(c) >= 0) break; 
    right = right + c; 
} 

var word = left + fullText.charAt(index) + right; 
+0

大変ありがとう!私はこのハッキングを想像していました。 :) –

関連する問題