【问题标题】:Alternative to change="" - Mxml替代 change="" - Mxml
【发布时间】:2013-06-01 19:15:36
【问题描述】:

我有以下元素:

<mx:TextInput x="60" y="100" width="467.95" id="Tx_Cotista" change="Change()"/>

而且我希望每次更改值时都调用函数 Change() 。但是,当值被动作脚本更改时,这不起作用。

我做错了吗? (输入值时效果很好)

不管我是对的,有什么替代方案吗?

【问题讨论】:

    标签: apache-flex actionscript mxml


    【解决方案1】:

    如果您想在每次更改 TextInput 的 text 属性时执行一个事件,那么您可以通过侦听 textChanged 事件来执行此操作。这是用于绑定的内部事件,可能未在 ASDocs 或事件元数据中定义。这意味着您不能在 MXML 中监听它。

    在 ActionScript 中,试试这个:

    Tx_Cotista.addEventListener('textChanged',Change())
    

    您可能希望删除 MXML 中定义的更改事件侦听器,否则 Change() 方法可能会执行两次。

    你原来的问题说

    我希望每次更改值时

    但是,您没有指定“价值”是什么。如果您指的是 text 属性以外的值,那么您可以使用我上面描述的相同方法;只需将“文本”替换为您关心的公共财产即可。

    【讨论】:

    • 很好的发现,还有一个由&lt;mx:TextInput /&gt; 调度的“textInput”事件,您可以在 MXML 中使用它......但出于一些奇怪的原因,文档说它不会触发您按 Backspace 或 Delete 键。我不知道这是什么奇怪的原因......只是想我会为了完整性而添加它。如果您可以在 Actionscript 中完成所有操作,那么使用“textChanged”事件是一个好主意。
    • Reboog711:你什么时候改名的?我刚刚意识到你是谁,并且一直想知道为什么我们这么长时间都没有看到 Flextras 的任何帖子;)很高兴知道你还在这里......
    猜你喜欢
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    相关资源
    最近更新 更多