Re: [問題] TextField的監聽問題
※ 引述《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)
推
10/17 15:01, , 1F
10/17 15:01, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):