在Flex组件LinkButton里,我们可以用useHandCursor属性来控制是否使用手型光标。现在我们要实现在LinkButton的enable=false时,useHandCursor=false。反过来,他们要同时为true。

下面的例子显示了当Flex里的LinkButton不可用时,如何移除它上的手型光标,让光标回到箭头。
我们采用的办法是扩展LinkButton类,覆盖了enabled的setter方法,在里面加上了改变useHandCursor属性的语句。

请看下面的例子:

main.mxml

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/09/07/removing-the-hand-cursor-from-a-disabled-linkbutton-control-in-flex/ -->
<mx:Application name="LinkButton_useHandCursor_test"
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:comps="comps.*"
layout="horizontal"
verticalAlign="middle"
backgroundColor="white"> <mx:ApplicationControlBar dock="true">
<mx:Form styleName="plain">
<mx:FormItem label="enabled:">
<mx:CheckBox id="checkBox" selected="true" />
</mx:FormItem>
</mx:Form>
</mx:ApplicationControlBar> <mx:LinkButton id="linkButton"
label="Default LinkButton"
enabled="{checkBox.selected}" /> <comps:DisabledLinkButtonMXML id="linkButton2"
label="Custom LinkButton (MXML)"
enabled="{checkBox.selected}" /> <comps:DisabledLinkButtonAS id="linkButton3"
label="Custom LinkButton (ActionScript)"
enabled="{checkBox.selected}" /> </mx:Application>

DisabledLinkButtonMXML组件:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/09/07/removing-the-hand-cursor-from-a-disabled-linkbutton-control-in-flex/ -->
<mx:LinkButton xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script>
<![CDATA[
override public function set enabled(value:Boolean):void {
//让enabled和useHandCursor同步
super.enabled = value;
useHandCursor = value;
}
]]>
</mx:Script> </mx:LinkButton>

DisabledLinkButtonAS组件

/**
* http://blog.flexexamples.com/2008/09/07/removing-the-hand-cursor-from-a-disabled-linkbutton-control-in-flex/
*/
package comps {
import mx.controls.LinkButton; public class DisabledLinkButtonAS extends LinkButton { /**
* Constructor.
*/
public function DisabledLinkButtonAS() {
//调用父类的构造函数
super();
} /**
* @private
*/
override public function set enabled(value:Boolean):void {
super.enabled = value;
useHandCursor = value;
}
}
}

很显然, DisabledLinkButtonMXML和 DisabledLinkButtonAS组件实现的是一样的功能。只是用的语法不一样。

当LinkButton无效时,光标不显示为手型的更多相关文章

  1. 【ios bug解决】 输入框聚焦时光标不显示

    解决办法:重写user-select样式 css:   user-select: text;-webkit-user-select:text;

  2. 解决ios下部分手机在input设置为readonly属性时,依然显示光标

    解决ios下部分手机在input设置为readonly属性时,依然显示光标 在出现如上所说的问题是尝试给input 加上  onfocus="this.blur()"  方法 添加 ...

  3. 当target属性在XHTML script中无效时

    <a href="#" target=_blank></a>target此属性能够使链接在新窗口打开,但是在XHTML script中无效时. 那么解决方案 ...

  4. jquery ajax请求方式与提示用户正在处理请稍等,等待数据返回时loading的显示

    1.jquery ajax请求方式与提示用户正在处理请稍等 为了提高用户体验度,我们通常会给出 “正在处理,请稍等!”诸如此类的提示.我们可通过设置$.ajax()下的参数beforeSend()来实 ...

  5. td默认文字超出后显示..,点击tr时td文字显示完整

    做项目时,产品提的需求,table表格里面,每一列限制文字超出宽度后显示省略号,等点击td时,文字显示完整,今天整理了一下代码,积累一下 备注:1.邮箱和网址,在td里面不会自动换行,需要增加word ...

  6. 解决微信小程序的wx-charts插件tab切换时的显示会出现位置移动问题-tab切换时,图表显示错乱-实现滑动tab

    解决Echarts在微信小程序tab切换时的显示会出现位置移动问题 tab切换时,图表显示错乱 <canvas class="kcanvas" canvas-id=" ...

  7. ListView嵌套 EditText的光标不显示

    ListView嵌套EditView,有可能会出现了下面现象: 点击EditView,EditView获取焦点后,有可能光标不显示,也有可能光标不闪烁.点击多次后,光标才正常显示. 获取焦点后,edi ...

  8. Cass环境下光标无显示

    先安装CAD2004,十字光标正常显示:再安装CASS7.0,光标就不显示了.现在不清楚是CAD的问题,还是CASS的问题,多半是后者.重新配置了CASS环境也不行. 于是,打开CAD选项,显示,窗口 ...

  9. PyQt5 结合 matplotlib 时,如何显示其 NavigationToolbar

    本文目的:展示 PyQt5 结合 matplotlib 时,如何显示其 NavigationToolbar. 本人搜遍所有网络无果,没办法,查看PyQt5源代码,最终才搞明白...特此留记. 〇.Py ...

随机推荐

  1. LeetCode Swap Nodes in Pairs 交换结点对(单链表)

    题意:给一个单链表,将其每两个结点交换,只改尾指针,不改元素值. 思路:迭代法和递归法都容易写,就写个递归的了. 4ms /** * Definition for singly-linked list ...

  2. JS全局变量VAR和THIS

    (注意)JS全局变量VAR和THIS 很多人都觉得在javascript声明一个变量,加var和不加var没有什么区别,实际上是一个错误的观点,如果在函数外面,也就是说在window区域加不加var确 ...

  3. svn - 常用命令

    基本流程: 获取新的代码,svn up(date),获取最新代码 锁住文件,防止你提交的时候,别人修改,造成冲突,svn lock filename 修改之后,svn add filename,将文件 ...

  4. JavaScript备忘录-闭包

    var arr = new Array(); function Person() { for (var i = 0; i < 10; i++) { //要记住,这个属性函数申明,只有立即执行才会 ...

  5. 通过对源代码的反向工程学习CoreData架构

    在本文开始,先给出反向工程后的结果: 不过需要注意,三个实例的指针都被同一个实例拥有,比如三个指针都位于appDelegate. 在AppDelegate类中定义了下面三个属性: @property ...

  6. 【JS】限制两个或多个单选框最多只能选择一个

    $(function () { /*$("#checkbox1").click(function(){ if($(this).attr("checked") = ...

  7. andorid 下拉刷新

    1:android的下拉刷新操作是需要一个ListView,通过onTouchEvent来判断用户的手势操作,用户触摸屏幕并且下拉时,当下拉超过指定的设定高度时就提示用户进行刷新. 2:当进行刷新时, ...

  8. Jabber/XMPP协议与架构

    一.概述 由Jeremie Miller于1998年开始这个项目.Jabber是一个开放源码形式组织产生的网络实时通信协议,第一个公开版本于2000年5月发行.Jabber已经由IETF XMPP协议 ...

  9. Brackets sequence

    题意: 给你一个括号序列(有中小括号),求出以给定序列为子序列的最小合法括号序列. 分析: 非常经典,以前做过相似一道题,用区间dp,但怎么把这个序列求出来没想出来. dp[i][j]表示区间i-j是 ...

  10. mysql_connect v/s mysql_pconnect

    原文:mysql_connect v/s mysql_pconnect 译文:mysql_connect v/s mysql_pconnect 译者:dwqs 当需要使用PHP连接MySQL数据库的时 ...