【问题标题】:Cancelling a keyboard event in Flex 3 / Flash在 Flex 3 / Flash 中取消键盘事件
【发布时间】:2011-02-02 18:57:22
【问题描述】:

我有一个 textArea 并希望阻止某些键(例如 enter 键)在用户输入时运行的默认行为。但是,KeyboardEvent 是不可取消的,因此 preventDefault 不起作用。有谁知道如何做到这一点?

【问题讨论】:

    标签: flash apache-flex preventdefault


    【解决方案1】:

    我想我找到了一个非常简单的解决方法,只需使用 TextInput 事件,它是可取消的,并且可以使用 enter 键。此外,退格键不会触发 TextInput 事件,这不会影响我在这里尝试执行的操作,但仅供参考。

    【讨论】:

    • 你到底是做什么的?您是否监听事件,检查按下了哪些键,如果是某个键则什么都不做?如果您在回答中添加一点代码,那将值得再 +1 :)
    • @Brian 正要输入代码,但下面 eldamar 的代码正是我所做的
    【解决方案2】:

    这样的方法可能有用吗?我自己没试过这个。

    textArea.addEventListener(TextEvent.TEXT_INPUT,onTextInput);
    
    private function onTextInput(e:TextEvent):void {
       if (e.text == '\n') e.preventDefault();
    }
    

    【讨论】:

      猜你喜欢
      • 2011-12-05
      • 1970-01-01
      • 1970-01-01
      • 2012-03-02
      • 1970-01-01
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 2018-08-28
      相关资源
      最近更新 更多