2011-01-06 80 views
0

我有這樣的代碼:爲什麼htmltextbox屬性.selectable = false不適用於actionscript 3?

function displayHTML(htmlText:String):void 
    { 
    var mcArray:Array = new Array(); 

    for (var i:int=0; i<20; i++) { 
     var caja1:HTMLTextBlock = new HTMLTextBlock(); 
     dragMe.addChild(caja1); 
     mcArray[i] = caja1; 
    } 

    for (var i:int=0; i<20; i++) { 
    mcArray[i].blockWidth = 720; 
    mcArray[i].textStyleSheet = textStyleSheet; 
    mcArray[i].setHTML(htmlText); 
    mcArray[i].selectable = false; 
    mcArray[i].x = 0; 
    mcArray[i].y = i*(mcArray[i].height+40); 
    } 
    } 

但物業可選(mcArray [I] .selectable = FALSE;)似乎是不工作,因爲我想,閃光燈控制檯給這個錯誤:類型錯誤:錯誤#1010 :術語未定義,沒有屬性。

沒有這行代碼,所有工作正常,但我不希望用戶選擇文本。

任何想法?

回答

2

這個問題是來自本教程中,我寫了關於HTMLTextBlock類: http://active.tutsplus.com/tutorials/design/master-html-formatted-text-in-flash/

你正在努力的目標文本字段實際上是HTMLTextBlock類的子類。有幾種方法可以完成你想要做的事情。最好的方法可能是將新方法添加到設置屬性的HTMLTextBlock類。

添加這種方法setHTML()方法後:

public function setSelectable(value:Boolean):void 
{ 
    htmlTextField.selectable = value; 
} 

然後,在你displayHTML功能,這樣做:

mcArray[i].setSelectable(false); 
+0

我得到現在這個錯誤:場景1,圖層 '圖層1' ,第1幀,第87行1119:訪問可能未定義的屬性,可通過靜態類型HTMLTextBlock引用進行選擇。 – DomingoSL 2011-01-06 19:41:26

1

HTMLTextBlock不是核心類嗎?它是否擴展TextField,或者它是否包裝TextField,如果它存在並且在那裏設置可選標記,則需要獲取文本字段屬性的句柄。

相關問題