Метки IMG внутри якоря в Flash / AS3 HTMLTextField с EmbedFonts = True, и файл CSS для стилей ведет себя неожиданным? Любое решение?

StackOverflow https://stackoverflow.com/questions/2851525

Вопрос

Когда EmbedFonts удалены, он отлично работает как ожидаю. В противном случае, когда нажат изображение, он выбирает весь текст вокруг него.

Кроме того, кто-нибудь может предложить способ стиля динамических текстовых полей вместо использования HTML?

Это было полезно?

Решение

Я смог принести тот же эффект без использования якорного тега. По-видимому, есть ошибка в использовании якорного тега с изображениями. Во всяком случае, вот что я сделал, чтобы преодолеть это.

import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.ui.Mouse;
private function init():void {

     //....
     var txt:String = "Curabitur dolor eros, gravida et.<p class='defStyle'><img src='003.jpg' id='0002'><br><br><br><br><br>Quisque facilisis erat a dui. Nam malesuada ornare dolor. Cras gravida, diam sit amet rhoncus ornare, erat elit consectetuer erat, id egestas pede nibh eget odio.</p>";
     testtext.htmlText=txt;

     var myPattern:RegExp =/<img[^>]+ids*=s*['"]([A-Za-z0-9]+)['"][^>]*\s*>/igmxs;  
     var result:Object = myPattern.exec(txt);

     while (result != null) {
          var id = result[1];
          trace(id);
          var image:DisplayObject = testtext.getImageReference(id);
          image.addEventListener(MouseEvent.CLICK, imgClick);
          image.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
          image.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
          result = myPattern.exec(txt);
      }

     ...//more

}

function imgClick(e:MouseEvent):void {
     trace('hello '+e.target.name);
}
function mouseOverHandler(e:MouseEvent):void {
     Mouse.cursor='button';
}
function mouseOutHandler(e:MouseEvent):void {
     Mouse.cursor='auto';
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top