讓 Flex 內不可選擇的文字超連結生效
来源:互联网 发布:指南针炒股软件注销 编辑:程序博客网 时间:2024/05/07 18:05
讓 Flex 內不可選擇的文字超連結生效
在 Flash 內,不可選擇的 (unselectable) TextField 仍可保留 HTML 超連結功能
但是 Flex 卻不行
查文件上也有寫到 Label.selectable
其實不光是 Label, Text 組件不行
任何一個在 Flex App 下的 unselectable TextField 超連結都會失效
這樣需要用到不可選擇的超連結文字時就很不方便
Flex 超連結失效測試程式:
於是花了不少力氣去追蹤原因
終於發現是 Flex 內的 FocusManager 刻意攔截下 unselectable TextField Focus 事件
這也間接造成超連結失效
既然知道問題是出在 FocusManager 上
問題就比較好處理了
以下是變通方式,讓 FocusManager 短暫失效一下~
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
fontSize="12" backgroundColor="#F0F0F0">
<mx:Script>
<![CDATA[
import flash.events.*;
import mx.managers.FocusManager;
public function onTxtLink(evtObj:Event):void{
textArea.text += evtObj + "/n";
}
]]>
</mx:Script>
<mx:Label selectable="false" link="onTxtLink(event)"
rollOver="focusManager.deactivate()" rollOut="focusManager.activate()">
<mx:htmlText>
<![CDATA[Flex Label : <a href='event:linkEvent'>Link Event Text</a> | ]]>
<![CDATA[<a href='http://ticore.blogspot.com' target='_blank'>Ticore's Blog</a>]]>
</mx:htmlText>
</mx:Label>
<mx:Text selectable="false" link="onTxtLink(event)"
rollOver="focusManager.deactivate()" rollOut="focusManager.activate()">
<mx:htmlText>
<![CDATA[Flex Text : <a href='event:linkEvent'>Link Event Text</a> | ]]>
<![CDATA[<a href='http://ticore.blogspot.com' target='_blank'>Ticore's Blog</a>]]>
</mx:htmlText>
</mx:Text>
<mx:Button label="Clear Log" click="textArea.text = '';" />
<mx:TextArea id="textArea" width="100%" height="100%" />
</mx:Application>
轉載請註明出處 http://ticore.blogspot.com/2008/04/enable-flex-htmltext-link.html
讓 Flex 內不可選擇的文字超連結生效
在 Flash 內,不可選擇的 (unselectable) TextField 仍可保留 HTML 超連結功能
但是 Flex 卻不行
查文件上也有寫到 Label.selectable
其實不光是 Label, Text 組件不行
任何一個在 Flex App 下的 unselectable TextField 超連結都會失效
這樣需要用到不可選擇的超連結文字時就很不方便
Flex 超連結失效測試程式:
於是花了不少力氣去追蹤原因
終於發現是 Flex 內的 FocusManager 刻意攔截下 unselectable TextField Focus 事件
這也間接造成超連結失效
既然知道問題是出在 FocusManager 上
問題就比較好處理了
以下是變通方式,讓 FocusManager 短暫失效一下~
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
fontSize="12" backgroundColor="#F0F0F0">
<mx:Script>
<![CDATA[
import flash.events.*;
import mx.managers.FocusManager;
public function onTxtLink(evtObj:Event):void{
textArea.text += evtObj + "/n";
}
]]>
</mx:Script>
<mx:Label selectable="false" link="onTxtLink(event)"
rollOver="focusManager.deactivate()" rollOut="focusManager.activate()">
<mx:htmlText>
<![CDATA[Flex Label : <a href='event:linkEvent'>Link Event Text</a> | ]]>
<![CDATA[<a href='http://ticore.blogspot.com' target='_blank'>Ticore's Blog</a>]]>
</mx:htmlText>
</mx:Label>
<mx:Text selectable="false" link="onTxtLink(event)"
rollOver="focusManager.deactivate()" rollOut="focusManager.activate()">
<mx:htmlText>
<![CDATA[Flex Text : <a href='event:linkEvent'>Link Event Text</a> | ]]>
<![CDATA[<a href='http://ticore.blogspot.com' target='_blank'>Ticore's Blog</a>]]>
</mx:htmlText>
</mx:Text>
<mx:Button label="Clear Log" click="textArea.text = '';" />
<mx:TextArea id="textArea" width="100%" height="100%" />
</mx:Application>
- 讓 Flex 內不可選擇的文字超連結生效
- 【转自TICORE】【HOW TO 系列】讓 Flex 內不可選擇的文字超連結生效
- flex彩色文字的ComboBox
- 一个文字类型的flex进度条
- Flex中label的文字旋转
- FLEX中不可编辑
- 在Flex中创建一个不可编辑的NumericStepper组件
- Flex DataGrid中控制某行不可编辑的例子
- Flex 4中如何创建不可编辑NumericStepper的例子
- Flex 4中如何创建不可编辑NumericStepper的例子
- html设置某元素内的文字不可选中
- 网页上不可选中文字的那些事儿
- Flex 文字和文字格式类(字体,大小,文字的方向,偏移量等)
- Flex中的CSS: (9)可继承/不可继承样式的定义 以及Flex中的实现方法
- 让对label中文字的点击也同时对checkbox/radio生效
- TextView title 文字过多滚动 TextView属性android:ellipsize="marquee"不生效的解决办法
- 两端对齐不生效:文字长度小于容器宽度的时候
- Flex 文字+图片倒影
- ISO C++的文件拷贝
- oracle10g LINUX
- Linux 技巧:让进程在后台可靠运行的几种方法
- 简单的CreateRemoteThread例程-初学者必看
- 基于WinCE模拟器的应用程序调试
- 讓 Flex 內不可選擇的文字超連結生效
- 通过user-Agent获取浏览器和操作系统信息
- 使用.net开发程序的多服务器负载均衡问题
- EMAIL发送系统(C#+基于SMTP认证) 2.0
- a to-do list
- Flex 使用module 父子窗口传值
- JAVA连接各种数据库(mysql,sql server,oracle,db2)
- 对SOA咨询师严重的压榨现象(二)
- 转载 domino 设置多库搜索