作者etrexetrex (moonet)
看板Flash
标题Re: [问题] TextField的监听问题
时间Thu Oct 15 18:17:34 2009
※ 引述《qaz33326 (花花)》之铭言:
: TextField中我加入了url的连结
: 现在已经可以点url trace出东西
: 是否可以在没有点到url 但是是点在同一个TextField上
: 去监听这个点到TextField的事件??
: 试过TextField直接加监听器
: 但是他点到url一样会侦测到
: 有办法让他侦测不到吗??
: 讲的有点模糊= =...
: 比如说...
: TextField被点到後会trace123
: TextField中的url点到後会trace出456
: 有没有办法让他点url只出现456 而不出现123
: 现在我试会都印出来
: 麻烦大家了
你需要的是在超连结点下时触发某个flash中的事件吗?
下面是个解法
ActionScript 2.0 语言参考
ActionScript 语言元素 > 全域函数 > asfunction 通讯协定
asfunction 通讯协定
asfunction:function:Function, parameter:String
一种用在 HTML 文字栏位里的特殊 URL 通讯协定,可让 HREF 连结呼叫 ActionScript
函数。在 HTML 文字栏位中,您可以使用 HTML A 标签来建立连结。A 标签的 HREF 属性
包含一个使用标准通讯协定 (如 HTTP、HTTPS 或 FTP 等) 的 URL。asfunction 通讯协
定是 Flash 特有的额外通讯协定,它会使连结叫用 ActionScript 函数。
适用版本: Flash Player 5;ActionScript 1.0
参数
function:String - 函数的识别名称。
parameter:String - 传递给 function 参数中所命名函数的字串。
范例
在下列范例中,playMP3() 函数已定义。建立并设定 TextField 物件 list_txt,以呈现
HTML 文字。文字 Track 1 和 Track 2 都是文字栏位中的连结。当使用者按一下任一连
结并播放当作 asfunction 呼叫参数传递的 MP3 时,就会呼叫 playMP3() 函数。
var myMP3:Sound = new Sound();
function playMP3(mp3:String) {
myMP3.loadSound(mp3, true);
myMP3.onLoad = function(success) {
if (!success) {
// code to handle errors here
}
};
}
this.createTextField("list_txt", this.getNextHighestDepth(), 0, 0, 200, 100);
list_txt.autoSize = true;
list_txt.html = true;
list_txt.multiline = true;
list_txt.htmlText = "<a href=\"asfunction:playMP3,track1.mp3\">Track1</a><br>";
list_txt.htmlText +="<a href=\"asfunction:playMP3,track2.mp3\">Track2</a><br>";
当您按一下连结时,MP3 声音档就会串流传送至 Flash Player。
另请参阅
htmlText (TextField.htmlText 属性)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.118.9.202
※ 编辑: etrexetrex 来自: 140.118.9.202 (10/15 18:20)
1F:推 qaz33326:有点不太像是我想要的^^" 不过谢谢大大的回答 很详细~ 10/17 15:01