2009-07-27 1 views
1

ボタンイベントコールを、バックスペースキーボードイベントの削除のように動作させる機能とするとします。フレックス:バックスペースのように機能するボタン

ディスパッチキーボードイベント「キーアップ」「キーダウン」をキーコード8とキー番号8で偽装しようとしましたが、成功しませんでした。

beginとendで手作業で行う以外の方法はありませんselect index plus substr?

私はtextinputを持っていますが、バックスペースのようなボタンを追加したいだけです。

おかげ

答えて

1

あなたはASCIIコードの8を使用して文字にそれを翻訳したり、エスケープ文字「\ b」が

か、textFieldInstanceオブジェクトを操作することができます使用することができます。

textFieldInstance.text = textFieldInstance.text.substr(0, -1); 

を参照:

http://board.flashkit.com/board/showthread.php?t=246003

http://www.java2s.com/Code/Flash-Flex-ActionScript/String/InsertingSpecialWhitespaceCharactersBackspaceb.htm

http://www.wipeout44.com/brain_food/flash_actionscript_goodies.asp

http://www.ultrashock.com/forums/actionscript/deleting-chars-in-a-text-field-e-g-backspace-124649.html

+0

を? .text.substr(0、-1);仕事はありません。 – coulix

+0

は、入力したユーザーをシミュレートしてはならず、選択された単語を削除する必要がありますか? –

+1

便利です。 'KeyboardEvent'に対する' keyCode'としての 'Keyboard.BACKSPACE'は十分ではなく、' \ b "' charCode' – user1875642

0

あなたはこの試みることができる:私は5char長い単語を選択し、バックスペースを再生しようとした場合、どのような

function delSelected(textFieldInstance:TextField):void { 
    var bIndex:int = textFieldInstance.selectionBeginIndex; 
    var eIndex:int = textFieldInstance.selectionEndIndex; 
    if (bIndex == eIndex) { 
    textFieldInstance.text = textFieldInstance.text.substr(0,-1); 
    } else { 
    var a:String = textFieldInstance.text.substr(0,bIndex); 
    var b:String = textFieldInstance.text.substr(eIndex); 
    textFieldInstance.text = a+b; 
    } 
} 
関連する問題