Dans Flash, existe-t-il un événement lorsque l'utilisateur clique sur un lien hypertexte dans un objet TextField?Vous savez quand un lien hypertexte dans un champ de texte est cliqué?
Répondre
Il existe: TextEvent.LINK, mais il ne fonctionne qu'avec les liens précédés de "event:".
tf.htmlText = "<a href=\"event:http://www.example.com\">Example</a><br>";
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/text/TextField.html
Si vous tirez des données externes ne pas utiliser « l'événement: ». Syntaxe, vous pouvez probablement écrire facilement un RegExp rapide pour l'ajouter à
Il semble possible, vérifier sur le reference.
Il est possible d'utiliser l'événement TextField "lien" - il est distribué lorsqu'un utilisateur clique sur un lien hypertexte dans le TextField. Un bon exemple est fourni dans Adobe site.
Voici le code qui remplace HREF avec « l'événement: » préfixes (comme suggéré par geraldalewis ci-dessus):
public static function hrefEvents(s:String):String {
var hrefRegex:RegExp = /href="/gm;
var output:String = s.replace(hrefRegex, "href=\"event:");
var dupe:RegExp = /event:event:/gm;
output = output.replace(dupe, "event:");
return output;
}
Notez que je fais en sorte de défaire le remplacer pour HREF qui ont déjà « événement » dans leur. (J'aurais pu utiliser une assertion d'anticipation négative dans l'expression régulière, mais j'étais paresseux.)