2012-01-16 32 views
0

我需要替換默認的按鍵事件,以便在輸入時對文本進行額外(即時)轉換。試試這個:jQuery.keypress:即時文本處理

field.keypress(function(e){ 
    field.val(function(i, val){ 
     return val.toUpperCase(); 
    }); 
    return false; 
}); 

但是輸入沒有完全填滿,這是可以理解的原因。但如何?)

請不要提示「文本轉換」,toUpperCase()只是一個例子。 ))

+0

你的問題是什麼? – JMax

+0

如何在輸入時立即替換所有大寫字母(例如)? – demx

+0

@Stefan你讀過最後一行嗎? OP明確要求不建議使用「文本轉換」。 –

回答

3

事件在文本字段實際修改之前觸發。

您應該將函數綁定到keyup事件。

這個keyup事件只在每次擊鍵時觸發一次。如果按下某個鍵,則keypress事件將在每個字符填充文本字段之前觸發。 keyup事件只是在之後被解僱的關鍵已被釋放。因此,如果您持有e 10秒鐘,輸入字段將包含小寫字母e,直到您擡起手指。