【问题标题】:TextField() - filter backspace key away with event listenerTextField() - 使用事件监听器过滤退格键
【发布时间】:2009-02-12 11:24:39
【问题描述】:

如何防止 TextField 可编辑字段中的退格键等特定键起作用,preventDefault 似乎不起作用:

public function handleEvents(evt:KeyboardEvent):void {
 if (evt.type == KeyboardEvent.KEY_UP) {
 if (evt.keyCode==8){
   evt.preventDefault () ;
  }
}

【问题讨论】:

    标签: actionscript-3 apache-flex flex3


    【解决方案1】:

    如果有的话,我建议监听 KEY_DOWN 事件,但很可能这也不起作用。 IIRC 这些类型的事件有点特别,你无法真正阻止它们。 我怀疑您需要做的是存储文本的副本,并且每当您检测到不喜欢的更改时,只需将其设置回存储的版本即可。

    【讨论】:

      【解决方案2】:

      我所做的是将焦点设置到另一个临时(和舞台外)文本字段,并在我的 keydown 处理程序中将焦点返回到我想要通过的键的文本字段。仅为要过滤掉的键设置焦点也可以。

      【讨论】:

        【解决方案3】:

        尝试添加 evt.stopImmediatePropagation()

        【讨论】:

        • 你是否同时添加了防止默认和停止传播?也尝试在舞台上添加事件处理程序
        • 不工作:TextField() 获得第一个事件,但我还在舞台上添加了相同的侦听器,preventDefault 和 stopImmediate 没有区别..
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 2023-03-04
        相关资源
        最近更新 更多