TextField输入框回车发送消息与输入法冲突的问题

比如在一个用flash做的聊天室中, 用回车键来发送聊天消息. 一般都是侦听回车键, 侦听到回车键被按下后就把消息发送出去. 但是如果碰到一些输入法是使用回车键来选字的, 这个时候flash侦听到回车键被按下, 就把还没打完的消息发送出去了.
造成这个问题是因为flash中只是单纯的侦听回车键而已, 所以无论当前是否在输入消息, 只要回车键按下, 都会触发 发送消息的程序.
解决这个问题只要在侦听回车键的代码中加入一个判断就可以了.
因为当我们使用那些需要回车来选字的输入法时, 鼠标焦点已经转移到输入法的面版上了.
所以只要判断当前鼠标焦点是否在输入框内. 就能避免这个问题出现了.
[img]/uploads/allimg/080326/1152020.gif[/img]
程序代码
[1b]var[/1b] enterKeyListener:[1b]Object[/1b] = [1b]new[/1b] [1b]Object[/1b] ();
enterKeyListener.[1b]onKeyDown[/1b] = [1b]function[/1b] ()
{
    [1b]if[/1b] ([1b]Key[/1b].[1b]getCode[/1b] () == [1b]Key[/1b].[1b]ENTER[/1b])
    {
        //判断当前鼠标焦点是否在输入框内
        [1b]if[/1b] ([1b]String[/1b] (Text_InstanceName) == [1b]Selection[/1b].[1b]getFocus[/1b] ())
        {
            [1b]send[/1b] ();
        }
    }
};
[1b]Key[/1b].[1b]addListener[/1b] (enterKeyListener);  
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/419.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值