FLASH AS3 TextField 文本超链接控制示例
一、TextFormat必须要设置在textField.text赋值之后。否则TextFormat样式调用不进去。尤其是对中文如此。但实际应用中,常先设置文本类,具体调用时再赋值。这样,TextFormat的作用就失去了。所以,强调先给text赋值,再设置TextFormat。
二、原以为textField属于InteractiveObjec类,即可交互,可直接触发TextEvent监听事件,实则不然,加监听前需设置XML 的href="event:myText"。我的理解:文本不能出发event,需要单独写名“event:”事件,另外,textfield需要.htmlText形式赋值。设置好textfield的内容赋值形式及XML,即可加监听了。
下面列出了一些常见的控制方法,供大家学习:
TextField以下示例提供了三种方法对文本显示控制,至于实际应用中选用哪种方法,看各人爱好了~~:
二、原以为textField属于InteractiveObjec类,即可交互,可直接触发TextEvent监听事件,实则不然,加监听前需设置XML 的href="event:myText"。我的理解:文本不能出发event,需要单独写名“event:”事件,另外,textfield需要.htmlText形式赋值。设置好textfield的内容赋值形式及XML,即可加监听了。
下面列出了一些常见的控制方法,供大家学习:
TextField以下示例提供了三种方法对文本显示控制,至于实际应用中选用哪种方法,看各人爱好了~~:
![FLASH <wbr>AS3 <wbr>TextField <wbr>文本超链接控制示例(新闻列表) 程序代码](http://www.6dn.cn/blog/images/code.gif)
//htmlText方法:
var tmp1_text:TextField=new TextField();
tmp1_text.x=10;
tmp1_text.y=10;
tmp1_text.width=200;
tmp1_text.height=60;
tmp1_text.htmlText = "<font color='#0033FF'>蓝色</font><font color='#ff0000'>红色</font><font color='#FF6600'>橙色</font>" +"\n" +
addChild(tmp1_text);
//----------------------------------------------------------------------------------
//TextFormat方法:
var tmp2_text:TextField=new TextField();
var format1:TextFormat=new TextFormat();
var format2:TextFormat=new TextFormat();
tmp2_text.x=10;
tmp2_text.y=60;
tmp2_text.width=300;
tmp2_text.height=30;
tmp2_text.text="Case Study: The E8 Particle Simulator for Garrett...";
format1.size=15;
format2.size=25;
format1.color=0xff0000;
format2.color=0x00ff00;
tmp2_text.setTextFormat(format1,3,7);
tmp2_text.setTextFormat(format2,8,11);
addChild(tmp2_text);
//----------------------------------------------------------------------------------
//htmlText+css方法:
var tmp3_text:TextField=new TextField();
var style:StyleSheet = new StyleSheet();
tmp3_text.x=10;
tmp3_text.y=100;
tmp3_text.width=300;
tmp3_text.height=20;
style.setStyle(".style1",{color:'#000000',fontWeight:'bold'});
style.setStyle(".style2",{color:'#ff0000',fontSize:'15'});
style.setStyle("a:link", { color: '#006600', textDecoration: 'underline',fontSize:'12' });
style.setStyle("a:hover",{color:'#003399',fontSize:'12'});
style.setStyle("a:visited",{color:'#990000',fontSize:'12'});
style.setStyle("a:active ",{color:'#000000',fontSize:'12'});
tmp3_text.styleSheet = style;
tmp3_text.htmlText="<a href='#'>超链接</a>sdfwewe<span class='style1'>sdlfjsiodf fwekfw</span><span class='style2'> 看吧看吧</span>";
addChild(tmp3_text);
Htmltext中加入事件侦听,替换内容:
![FLASH <wbr>AS3 <wbr>TextField <wbr>文本超链接控制示例(新闻列表) 程序代码](http://www.6dn.cn/blog/images/code.gif)
var tmp_txt:TextField=new TextField();
addChild(tmp_txt);
tmp_txt.htmlText="<a href='event:th'>替换</a>";
tmp_txt.addEventListener(MouseEvent.CLICK,txtHandler);
function txtHandler(evt:MouseEvent):void {
}
mp3列表曲目侦听,并应用样式:
![FLASH <wbr>AS3 <wbr>TextField <wbr>文本超链接控制示例(新闻列表) 程序代码](http://www.6dn.cn/blog/images/code.gif)
var style:StyleSheet = new StyleSheet();
style.setStyle("a:link", { color: '#006600', textDecoration: 'underline',fontSize:'12' });
style.setStyle("a:hover",{color:'#003399',fontSize:'12'});
style.setStyle("a:visited",{color:'#990000',fontSize:'12'});
style.setStyle("a:active ",{color:'#000000',fontSize:'12'});
var list:TextField = new TextField();
list.autoSize = TextFieldAutoSize.LEFT;
list.multiline = true;
list.styleSheet = style;
list.htmlText = "<a href="event:track1.mp3">Track 1</a><br>";
list.htmlText += "<a href="event:track2.mp3">Track 2</a><br>";
addEventListener(TextEvent.LINK, linkHandler);
addChild(list);
function linkHandler(linkEvent:TextEvent):void {
trace(linkEvent.text);
}
style.setStyle("a:link", { color: '#006600', textDecoration: 'underline',fontSize:'12' });
style.setStyle("a:hover",{color:'#003399',fontSize:'12'});
style.setStyle("a:visited",{color:'#990000',fontSize:'12'});
style.setStyle("a:active ",{color:'#000000',fontSize:'12'});
var list:TextField = new TextField();
list.autoSize = TextFieldAutoSize.LEFT;
list.multiline = true;
list.styleSheet = style;
list.htmlText = "<a href="event:track1.mp3">Track 1</a><br>";
list.htmlText += "<a href="event:track2.mp3">Track 2</a><br>";
addEventListener(TextEvent.LINK, linkHandler);
addChild(list);
function linkHandler(linkEvent:TextEvent):void {
}
<img>标签鼠标单击侦听:
![FLASH <wbr>AS3 <wbr>TextField <wbr>文本超链接控制示例(新闻列表) 程序代码](http://www.6dn.cn/blog/images/code.gif)
var txt:TextField=new TextField();
txt.width=300;
txt.;
txt.htmlText = '<div id="blogMar">'+
' <img
'999999999999999999999999
addChild(txt);
var emb :Loader= txt.getImageReference("icon") as Loader;
emb.addEventListener(MouseEvent.CLICK, onTextClick);
function onTextClick(e:MouseEvent):void {
}