国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

利用Keydown事件阻止用戶輸入實現代碼

2019-11-20 20:57:16
字體:
來源:轉載
供稿:網友
先了解下各事件的區別

KeyDown:在控件有焦點的情況下按下鍵時發生
KeyPress:在控件有焦點的情況下按下鍵時發生
KeyUp: 在控件有焦點的情況下釋放鍵時發生

1、KeyPress主要用來接收字母、數字等ANSI字符。KeyDown 和 KeyUP 事件過程通常可以捕獲鍵盤除了PrScrn所有按鍵(這里不討論特殊鍵盤的特殊鍵

2、KeyPress 只能捕獲單個字符,KeyDown 和KeyUp 可以捕獲組合鍵。

3、KeyPress 不顯示鍵盤的物理狀態(SHIFT鍵),而只是傳遞一個字符。KeyPress 將每個字符的大、小寫形式作為不同的鍵代碼解釋,即作為兩種不同的字符。KeyDown 和KeyUp 不能判斷鍵值字母的大小。KeyDown 和 KeyUp 用兩種參數解釋每個字符的大寫形式和小寫形式:keycode ― 顯示物理的鍵(將 A 和 a 作為同一個鍵返回)和 shift ―指示 shift + key 鍵的狀態而且返回 A 或 a 其中之一。

5、KeyPress 不區分小鍵盤和主鍵盤的數字字符,KeyDown 和KeyUp 區分小鍵盤和主鍵盤的數字字符。

6、KeyDown、KeyUp事件是當按下 ( KeyDown ) 或松開 ( KeyUp ) 一個鍵時發生的。由于一般按下鍵盤的鍵往往會立即放開(這和鼠標不同),所以這兩個事件使用哪個差別不大。而且,up和其他兩者還有一個區別:要判斷key修改后的狀態必須用up。

我們可以利用keydown事件來阻止用戶的輸入,比如某輸入域只能輸入數字

鍵盤上數字鍵的keyCode

[48-57] 數字鍵
[96-105] 數字小鍵盤
此外允許Backspace鍵刪除

代碼如下
復制代碼 代碼如下:

var input = document.getElementById('number_ipt')
input.onkeydown = function(e) {
var keyCode = e.keyCode
if ( !isNumber(keyCode) ) return false
}

// 僅能輸入數字
function isNumber(keyCode) {
// 數字
if (keyCode >= 48 && keyCode <= 57 ) return true
// 小數字鍵盤
if (keyCode >= 96 && keyCode <= 105) return true
// Backspace鍵
if (keyCode == 8) return true
return false
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 寿宁县| 荣成市| 会东县| 沁水县| 灵武市| 许昌市| 阳曲县| 平利县| 连南| 翼城县| 西丰县| 保德县| 娱乐| 新乡市| 云和县| 平阳县| 汝阳县| 宜章县| 万年县| 东方市| 宝鸡市| 论坛| 临夏县| 乌拉特后旗| 淄博市| 青神县| 万荣县| 防城港市| 六枝特区| 民权县| 分宜县| 石首市| 宿迁市| 庆元县| 吉木乃县| 商南县| 阳高县| 和林格尔县| 嘉善县| 德安县| 南部县|