2009-02-12 66 views
2

如何防止特定的鍵如Backspace鍵從文本字段編輯字段功能,的preventDefault似乎不工作:文本字段() - 過濾退格鍵程與事件偵聽器

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

回答

2

如果有任何事情,我建議監聽KEY_DOWN事件,但可能這也不起作用。 IIRC這些類型的事件有點特別,你不能阻止它們。 我懷疑你需要做的是存儲文本的副本,並且每當你檢測到你不喜歡的改變時,只需將其設置回存儲的版本即可。

0

嘗試增加evt.stopImmediatePropagation( )

+0

您是否添加了防止默認和停止傳播?也嘗試添加舞臺上的事件處理程序 – Goran 2009-02-12 12:33:35

1

我所做的是將焦點設置爲另一個臨時(和離場)文本字段,並在我的keydown處理程序中將焦點返回到我想要獲取的鍵的文本字段。僅爲要過濾掉的鍵設置焦點也可以。