【问题标题】:How do you prevent a CheckBox or ToggleButtonBase from changing?如何防止 CheckBox 或 ToggleButtonBase 发生变化?
【发布时间】:2016-05-24 13:34:50
【问题描述】:

我有一个 Spark CheckBox,我试图阻止它在单击时发生变化。在大多数 Flex 组件中都有一个 CHANGING 事件,您可以防止默认。我只找到了一个 CHANGE 事件,如果我监听该事件然后设置 checkbox.selected = !checkbox.selected;它只是再次发送更改并重新选中该复选框。

【问题讨论】:

    标签: apache-flex flex4 flex-spark


    【解决方案1】:

    您可以禁用此复选框的任何鼠标事件,并且仍然可以使用 selected=true 以编程方式更改选择:

    <s:CheckBox id="myCheckbox"
                mouseChildren="false"
                mouseEnabled="false"/>
    

    【讨论】:

      【解决方案2】:

      我已经为鼠标单击事件添加了一个事件监听器,这似乎可以工作,但是有一个闪烁,您可以看到它被瞬间选中。

      IEventDispatcher(checkbox).addEventListener(MouseEvent.CLICK, function(e:Event):void {
              trace("click");
              ToggleButtonBase(target).selected = !ToggleButtonBase(target).selected;
              e.stopImmediatePropagation();
              e.preventDefault();
      }); 
      

      使用这个,如果我追踪事件,它是:

      • 改变
      • 改变
      • 点击

      不理想,但它似乎正在工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-30
        • 1970-01-01
        • 1970-01-01
        • 2020-02-14
        • 2019-07-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多