本文實例講述了Javascript控制input輸入時間格式的方法。分享給大家供大家參考。具體分析如下:
之前做了一個Javascript控制時間格式的輸入,主要用到了keydown和keyup兩個事件,但感覺寫的很復雜而且還有bug。
今日了解了一下keypress事件與keydown和keyup的區別。大致如下(目前只了解這么多):
keydown:按鍵按下的時候觸發,通過event可以獲取到keyCode,可以獲取到文本框輸入之前的值;
keyup:按鍵彈出(松開)時觸發,通過event可以獲取到keyCode,可以獲取到文本框輸入之后的值;
keypress:此事件在Chrome和IE中基本相同,但Firefox有點不一樣;
1、在Chrome和IE中:只要按下的鍵能在文本框中出現字符則會觸發(如輸入字母、數字、符號等),通過event可以獲取到keyCode,event.key為undefined;不能出現字符的則不會觸發(如方向鍵、Home、Backspace等)
2、在火狐中:字母、數字、符號、方向、退格等按鍵均能觸發,均可以通過event.key獲取按鍵名,如果所按的鍵能輸出字符則event.keyCode為0,如果不能輸出字符則event.keyCode為對應的ASCII碼
回到正題,先直接看代碼(上面提到的event就相當于下面代碼中的e):
通過isFF && e.keyCode !== 0來區分Firefox能輸出字符的按鍵和不能輸出字符的按鍵,由于Firefox中e.keyCode不一定能取到值,所以使用了e.which來取代。
keyup是用于處理使用輸入法時能輸入中文或字母的問題。
通過String.fromCharCode()得到ASCII碼對應的字符。
希望本文所述對大家的javascript程序設計有所幫助。
新聞熱點
疑難解答
圖片精選