`

TextField的htmlText属性中img标签的有趣现象

    博客分类:
  • AS3
 
阅读更多

Flash的文字栏位(TextField)除了用来显示与输入一般文字之外
也有支持简单的HTML标签
像是<font>, <b>, <i>, <u>, <a>, <p>, <br>, <li>, <span>, <img> 
其中比较特别的是<img>,除了可以用来表现外部图片以外
还可以通过src指定Linkage Identifier的方式
呈现Library内的MovieClip 

Linkage Identifier已经是AS2时代的旧名称了
转换为AS3的说法就是Class Name 
意思就是可以用指定htmlText的方式
直接在TextField内产生继承DisplayObject的Sprite, MovieClip, SimpleButton 
甚至是另一个TextField实体

以下便是用AS3在TextField内,再创建另一个TextField 

程序代码 程序代码
package { 
  import flash.display.MovieClip; 
  import flash.text.TextField; 

  [SWF(width="300", height="200", backgroundColor="#FFFFFF")] 
  public class main extends MovieClip { 
   public function main() { 
    var outerTxt:TextField = new TextField(); 
    outerTxt.border = true; 
    outerTxt.x = 100; 
    outerTxt.y = 50; 
    this.addChild(outerTxt); 
   
    outerTxt.htmlText = "Outer TextField<img id='txt' src='flash.text.TextField' width='80' height='50' />"; 
    var innerTxt:TextField = outerTxt.getImageReference('txt') as TextField; 
    innerTxt.border = true; 
    innerTxt.text = "Inner TextField"; 
   } 
  } 

// Ticore's Blog - http://ticore.blogspot.com/


很有趣吧,一般使用情况下TextField内是无法再放其它DisplayObject的

可是TextField.htmlText却有一个问题
假如<img>标签前后没有其它文字,img会建立失败
如以下AS3程序: 

程序代码 程序代码
package { 
  import flash.display.MovieClip; 
  import flash.text.TextField; 
  import flash.text.TextFormat; 

  [SWF(width="300", height="200", backgroundColor="#FFFFFF")] 
  public class main extends MovieClip { 
   public function main() { 
    var txt:TextField = new TextField(); 
    txt.border = true; 
    txt.x = 100; 
    txt.y = 50; 
    this.addChild(txt); 
   
    txt.htmlText = "<img id='img' src='flash.display.Sprite' />"; 
    trace(txt.getImageReference('img')); // null 
   
    txt.htmlText = " " "<img id='img' src='flash.display.Sprite' />"; 
    trace(txt.getImageReference('img')); // [object Sprite] 
   } 
  } 

// Ticore's Blog - http://ticore.blogspot.com/

分享到:
评论

相关推荐

    Using htmlText in a toolTip in flex

    本文将深入探讨如何在Flex中实现`htmlText`属性在工具提示中的应用,以及涉及到的相关知识点。 首先,`htmlText`是Flex中TextBase组件类的一个属性,它允许我们设置包含HTML标记的文本,这样可以创建具有样式、颜色...

    as3.0富文本,可以插入表情图片,图文并排

    在AS3.0中,可以使用`&lt;img&gt;`标签来插入图片,但需要注意的是,由于AS3.0的限制,`&lt;img&gt;`标签的`src`属性通常不能直接引用本地文件路径,而是需要通过URLLoader加载网络上的图片资源或者使用SWF对象。对于表情图片,...

    Struts2 常用标签

    以上介绍了Struts2中常用的图像标签以及图像按钮标签的相关属性。这些标签能够帮助开发者更加高效、便捷地开发Web应用界面。通过合理运用这些标签,可以显著提升Web应用的用户体验,并且让前端页面的开发变得更加...

    新技术培训 培训讲义3_AS3显示文本.doc

    TextField类还支持一部分HTML标签,通过`htmlText`属性实现,如: - `&lt;a&gt;`:创建超链接。 - `&lt;b&gt;`:加粗文本。 - ` `:换行。 - `&lt;font&gt;`:改变字体、颜色和大小。 - `&lt;img&gt;`:嵌入图像。 - `&lt;i&gt;`:斜体...

    html期末考试题.docx

    16. 生成文本框的HTML标签是&lt;input type="text"&gt;,而不是&lt;textinput&gt;或&lt;textfield&gt;。 17. 产生下拉列表的HTML标签是,而非。 18. 生成文本区(textarea)的HTML标签是。 19. 插入图像的HTML标签是&lt;img src="图像地址...

    JSTL详细标签库介绍

    &lt;BR&gt;Java使用和C++类似的异常处理&lt;BR&gt;1、处理错误的方法有很多流行方法&lt;BR&gt;2、一般方法是把程序处理代码段分散到系统代码中,在可能发生错误的地方处理错误优点:便于程序员能够条理的看到程序中异常的处理缺点:...

    静态登录网页的代码

    在提供的代码片段中,首先通过 `&lt;style type="text/css"&gt;` 标签定义了一系列的CSS样式规则。这些规则主要应用于 `body`, `td`, 和 `th` 元素,用于设置字体大小、边距等属性。 - **字体大小**:所有文本的字体大小...

    ExtAspNet_v2.3.2_dll

    -修正extjs最新版本(v3.2.2)中的一个bug,如果下拉列表中存在两个相同的Text,则SelectedValue返回值永远是第一个Text的值(feedback:ben.zhou)。 -应用补丁#6593, #6621(feedback:vbelyaev)。 +修正IE7下Grid分页...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)...

    学生个人html静态网页制作 湖南美食(4页) 家乡美食网站设计与实现

    - **图像路径**: 通过 `&lt;img src="picture/img009.png"&gt;` 加载图像资源,确保图像路径正确,避免出现404错误。 - **图像尺寸**: 通过设置 `width` 和 `height` 属性控制图像大小,确保图像在不同分辨率屏幕上适应...

    JQUERY核心部分

    &lt;input type="text" name="textfield"&gt; 提交"&gt; ()"&gt;jQuery ``` - jQuery代码及功能: ```javascript function jq() { $("#form1 :input").hide(); } ``` - 运行结果:点击id为`test`的元素时,隐藏`...

    css移动版兼容性问题记录

    WebKit内核中的某些私有`meta`标签对于开发Web应用程序非常重要。例如,为了确保页面能在不同设备上正确缩放,可以使用以下`meta`标签: ```html , initial-scale=1.0, maximum-scale=1.0" name="viewport"&gt; ```...

    Selenium中文手册

    - `xpath=//img[@alt='The image alt text']` - `xpath=//table[@id='table1']//tr[4]/td[2]` 6. **链接文本定位**: `link=textPattern` - 通过匹配链接文本来定位页面上的链接。 - 示例:`link=The link text` ...

    关于Tapestry的一些个人总结

    &lt;input jwcid="@TextField" type="text" /&gt; &lt;/html&gt; ``` 2. **组件配置**:每个组件都需要在Tapestry中进行配置,包括它的类型和标识符等信息。 ```xml &lt;!-- 组件配置细节 --&gt; ``` 3. **组件间...

    python爬虫框架talonspider简单介绍

    其中`TextField`用于提取文本内容,`AttrField`则用于提取HTML元素的属性值。 ##### 3.2 Spider模块 Spider模块为用户提供了一种更为灵活的方式来处理复杂的爬虫任务。例如,当需要遍历多个页面时,Spider模块可以...

    脚本之家贴图转换+转贴工具用到的js代码超级推荐

    - **作用**:清除或替换特定的HTML标签和属性,例如清除内联脚本、清理样式等。 - **应用场景**:通常用于从HTML格式转换为BBCode(Bulletin Board Code)或其他简单的文本格式,以便在论坛等环境中使用。 以上就是...

    JS表单提交验证、input(type=number) 去三角 刷新验证码

    正确的做法是在`&lt;form&gt;`标签中添加`onsubmit`属性,并返回一个验证函数的结果,例如: ```html ();"&gt; ``` 在`checkFrom()`函数中,我们可以获取并检查`input`元素的值。例如,检查用户名和密码是否为空: ```...

    struts2图片验证码--struts2图片验证码-(通用版)

    &lt;s:textfield name="validate"&gt;&lt;/s:textfield&gt; &lt;img src="creatidateAction" align="left" onclick="changidateCode(this)"/&gt; ``` ##### 步骤2:验证码生成逻辑(creatidateAction.java) 接下来,...

Global site tag (gtag.js) - Google Analytics