[转]屏蔽TextArea中默认的按回车换行

[url]http://we.zuisg.com/flex/%E5%B1%8F%E8%94%BDtextarea%E4%B8%AD%E9%BB%98%E8%AE%A4%E7%9A%84%E6%8C%89%E5%9B%9E%E8%BD%A6%E6%8D%A2%E8%A1%8C/[/url]

在Flash开发中,当我们使用TextArea组件时,在输入文本时按下回车键默认会进行换行。如果不想让它换行,我们是否有一种办法能够对TextArea说“什么王法?老子就是王法!”

如果你想屏蔽回车键的话我猜你一定是想让TextArea在编辑时能够随意换行,只有一行编辑满后才会自动换行,这样的话只需要把TextArea中的换行符"\r"(不是"\n")全部丢弃即可。不过在你按下键盘进行编辑时TextArea中会先后触发三个事件:1,enter事件;2,textInput事件;3,change事件。我们只需要在最后触发的事件处理函数中进行换行符的替换即可,不然的话你在enter事件或是textInput事件中把换行符替代掉后,之后还会触发change事件,触发此事件后textArea又会把换行符补上,你之前的换行符去除工作就白搭了。接下来看代码吧。

●在Flash CS工具的组件中使用fl.controls.TextArea组件:

ta.addEventListener(Event.CHANGE,onTextInput);//ta为一舞台上个fl.controls.TextArea组件对象的id

function onTextInput(e:Event):void{
ta.text = ta.text.replace("\r", "");
}

●在Flex中使用mx.controls.TextArea组件

<mx:Script>
<![CDATA[
protected function textarea1_changeHandler(event:Event):void
{
var ta:TextArea = event.currentTarget as TextArea;
ta.text = ta.text.replace("\r", "");
}
]]>
</mx:Script>

<mx:TextArea change="textarea1_changeHandler(event)"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值