1

我有一个函数可以计算用户可以输入的剩余字符数,但我不知道为什么它只从第二个字符开始计数。意味着最后我将能够从我设置的最大数量中输入一个额外的字符。

wInput.maxChars=30

wInput.addEventListener(KeyboardEvent.KEY_DOWN, calculate);
private function calculate(event:Event=null):void {
                NameRC=wInput.maxChars-wInput.length;
                remainingA.text=NameRC;

        }

w输入功能:

private function input():void {
            //name input
            wInputF.font=arial.fontName;
            wInputF.color=0x818181;
            wInputF.size=15;
            wInputF.align=TextFormatAlign.JUSTIFY;
            wInputF.leftMargin=5;
            wInputF.rightMargin=10;


            wInput.defaultTextFormat=wInputF;
            wInput.border=true;
            wInput.borderColor=0xE6E6E6;
            wInput.selectable=true;
            wInput.type=TextFieldType.INPUT;
            wInput.maxChars=30;
            wInput.width=wBox.width-wType.textWidth-70;
            wInput.height=wInput.textHeight+5;
            wInput.x=wBox.x+wType.width+10;
            wInput.y=wType.y-5;
            wBox.addChild(wInput);

            //calculate remaining characters
            remaining();
            remainingC.x=wInput.x+wInput.width+20;
            remainingC.y=wInput.y+12;
            wInput.addEventListener(KeyboardEvent.KEY_DOWN, calculate);
        }
4

4 回答 4

0

试试这个。。

wInput.addEventListener(KeyboardEvent.KEY_UP, calculate);
private function calculate(event:Event=null):void 
{
remainingA.text=String(wInput.text.length);
}
于 2013-09-10T09:12:07.637 回答
0

我从随机的谷歌搜索中偶然发现了这一点,我从 debu 的评论中发现了这一点,即当事件触发时文本字段中还没有字符。灯泡!之后看起来很明显,我将 KeyboardEvent.KEY_DOWN 更改为 KeyboardEvent.KEY_UP。似乎可以按照我现在想要的方式工作。希望这在将近 2 年后会有所帮助!

于 2012-01-13T23:18:37.997 回答
0

我不太确定 nameRC 是什么,如果 wInput 是 TextField,你在哪里设置它的 .text 属性?无论如何,在您设置 .text 属性的唯一地方进行,即:

remainingA.text=NameRC;

我猜它可能总是落后 1 位,因为您在向 TextField 添加任何内容之前进行了最大长度计算。就像,当您第一次进行计算时,TextField 中没有任何内容,即使您刚刚捕获了一个键盘事件。所以它会返回 0;然后在该字段中添加一些内容。因此,下次触发 Keyboard 事件时,它就落后了。我唯一的猜测是你只需要交换这些行。

不过,我可能会得很远;)

于 2010-03-19T04:23:52.713 回答
-1

在您的代码中,从更改KeyboardEvent.KEY_DOWN, calculateKeyboardEvent.KEY_UP, calculate

于 2013-03-19T09:19:17.140 回答