Flash AS 的 textfield 关于响应超链接的时候与 selectable 属性无关。
而在 Adobe Flex 中 TextArea, Text, Label 等用到 textfield 控件必须将 selectable 属性设置为 true,才能响应超链接。
原因在于 Adobe Flex 中对于 FoucsManager 的控制。
代码如下(FocusManager.as):

/**
 *  @private
 *  This gets called when mouse clicks on a focusable object.
 *  We block player behavior
 */
private function mouseFocusChangeHandler(event:FocusEvent):void
{
    // trace("FocusManager: mouseFocusChangeHandler  in  = " + this._form.systemManager.loaderInfo.url);
	// trace("FocusManager: mouseFocusChangeHandler " + event);
 
    // If relatedObject is null because we don't have access to the 
    // object getting focus then allow the Player to set focus
    // to the object. The isRelatedObjectInaccessible property is 
    // Player 10 only so we have to test if it is available. We
    // will only see isRelatedObjectInaccessible if we are a version "10" swf
    // (-target-player=10). Version "9" swfs will not see the property
    // even if running in Player 10.
    if (event.relatedObject == null && 
        "isRelatedObjectInaccessible" in event &&
        event["isRelatedObjectInaccessible"] == true)
    {
        // lost focus to a control in different sandbox.
        return;
    }
 
    if (event.relatedObject is TextField)
    {
        var tf:TextField = event.relatedObject as TextField;
        if (tf.type == "input" || tf.selectable)
        {
            return; // pass it on
        }
    }
 
    event.preventDefault();
}

关键的在于其中鼠标事件如果碰到为TextField的话,必须是可输入或者能选择的情况下,才会继续响应事件。
所以,如果需要相应,可以这么改写:

package
{
	import flash.events.MouseEvent;
 
	import mx.controls.Label;
 
	public class UnselectableLinkEnableLabel extends Label
	{
		public function UnselectableLinkEnableLabel()
		{
			super();
			addEventListener(MouseEvent.ROLL_OVER, handleRollOver);
			addEventListener(MouseEvent.ROLL_OUT, handleRollOut);
		}
 
		protected function handleRollOut(event:MouseEvent):void
		{
			// TODO Auto-generated method stub
			trace("handleRollOut")
			focusManager.activate();
		}
 
		protected function handleRollOver(event:MouseEvent):void
		{
			// TODO Auto-generated method stub
			trace("handleRollOver")
			focusManager.deactivate();
		}
	}
}

哈哈,写完才发现2008年的时候,Ticore就已经发过类似的文章(Blogspot)了。