常用事件方法及技巧(四) -- TextEvent(文本事件)(改)

简介:

   TextEvent很有意思,就两个常量,应用场景还截然不同。

 

    TEXT_INPUT:用户输入文本时调用

    此时: TextEvent.text:返回用户输入的内容

    还有一个类似的用法,是Event.Change。让我们比较一下两者的区别:

    1. 触发范围不同

    TEXT_INPUT:输入文本时触发。

    CHANGE:文本字符发生变化时触发。所以不仅输入文本会触发,删除文本也会触发。

    2. 触发时间不同

    TEXT_INPUT:在文本填充字符之前先触发

    CHANGE:在文本填充字符完成后触发

    我举个例子大家就明白意思了:在舞台上创建一个输入文本,实例名为t,在第一帧添加代码如下:

    function p1(event:Event):void { 
        trace(event.type+":"+event.target.text); 
    } 
    t.addEventListener(Event.CHANGE, p1);

    function p2(event:TextEvent):void { 
        trace(event.type+":"+event.target.text); 
    } 
    t.addEventListener(TextEvent.TEXT_INPUT, p2);

    运行后,输入字符“w”,返回结果如下:

    textInput:    //此时t还没有内容 
    change:w     //此时t已经有内容了

   

    最后说一下TextEvent.text的返回值:

    每输入一次字符,将会调用一次函数。你直接输入“my”,那么依次返回“m”“y”。你输入“我们”,即使某些输入法可以修改后一起输入,但还是依次返回“我”“们”。只有一种情况例外:如果你是复制粘帖上去的“我们”,恭喜你,你终于一次性返回了“我们”二字。

 

    TEXT_LINK:启用 HTML 的文本字段中,单击超链接时触发

    此时:TextEvent.text:<a> 标签的 href 属性的 event 属性的文本(很拗口吧 ^_^)

    例如:

    messages.htmlText = "<a href=\"event:http://www.baidu.com\">22</a>";

    那么TextEvent.text返回的是“http://www.baidu.com”

    注意:

    1. 必须要有“event:”不然该监听无效

    2. 因为加了“event:”,所以超链接无效了,不会发生页面跳转。

    如果一定要跳转,自己加个处理吧,我把我的代码贴出来,仅供参考:

    messages.htmlText = "<a href=\"event:http://www.baidu.com\">百度链接</a>";

    function p(event:TextEvent):void

    {

        var url:URLRequest = new URLRequest(event.text);

       navigateToURL(url); //AS3.0后,GetURL方法不适用了

    }

    messages.addEventListener(TextEvent.LINK, p);










本文转自 windtoto 51CTO博客,原文链接:http://blog.51cto.com/windtoto/374249,如需转载请自行联系原作者
目录
相关文章
|
9月前
|
存储 JavaScript 前端开发
好烦,怎么输入拼音的过程也会触发input事件!!!
好烦,怎么输入拼音的过程也会触发input事件!!!
235 0
|
9月前
|
Java
如何在事件处理方法中获取事件的来源对象?
如何在事件处理方法中获取事件的来源对象?
|
9月前
|
开发者
在用户关闭页面时,提示用户有内容未保存-论onbeforeunload事件的用法
在用户关闭页面时,提示用户有内容未保存-论onbeforeunload事件的用法
162 0
|
JavaScript 程序员
input框输入中文时,输入未完成触发事件。Vue中文输入法不触发input事件?
input框输入中文时,输入未完成触发事件。Vue中文输入法不触发input事件?
733 1
element close事件关闭表单,数据替换掉原始列表的数据bug解决
element close事件关闭表单,数据替换掉原始列表的数据bug解决
101 0
|
JavaScript 前端开发
前端案例:我的备忘录(支持事件的增加、删除和修改,代码完整)
前端案例:我的备忘录(支持事件的增加、删除和修改,代码完整)
290 0
|
Java 数据安全/隐私保护
文本组件与 ActionEvent事件
文本组件与 ActionEvent事件
224 0
基类、接口的应用——表单控件:一次添加、修改一条记录,一次修改多条记录。(上)
好久没发帖子了,又加了不少的功能呀。(图片仅是测试,不代表什么表情。) 本来我也想写一个2007的总结的,但是看到很多人都写了,我就不凑热闹了,写点和代码有关系的吧。 写作原因: 1、在项目里做得最多的操作恐怕就是保存数据了,总是要写一大堆的代码,能不能简单一点呢?2005来了,似乎可以减少一些代码,但是03里怎么办呢? 2、基类、接口、策略模式,好多高手都讨论过了,但是都是理论上的,在实践中如何应用呢?在webform 里面又怎么使用呢? 目的: 1、做一个“控件”来应对各种表单的录入,包括一次保存一条记录、一次保存多条记录。
1036 0

热门文章

最新文章