利用Keydown事件阻止用户输入

先了解下各事件的区别

  • 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
}

利用Keydown事件阻止用户输入,布布扣,bubuko.com

时间: 2024-10-10 13:34:44

利用Keydown事件阻止用户输入的相关文章

如何利用while语句根据用户输入要求打印菱形图案

需求:如何利用while语句根据用户输入要求打印菱形图案 diamond.py代码如下: x=int(input('Please input number: ')) i=1 j=1 while i<=x: j=1 while j<=x-i : print(' ',end='') j+=1 while j<=x: print('* ',end='') j+=1 print() i+=1 i=1 while i<=x-1: j=1 while j<=i : print(' ',e

ASP.NET 解决在点击Button执行服务器事件之前验证用户输入并阻塞

在网站项目开发时,为了减少用户的错误性的操作,很多时候我们都需要做一些必要的JS验证来提醒用户,比如:"输入的值不符合规则,请重新输入"."提交后无法修改,您确定要继续吗?"友好性的提示. 这时候我们想到了Button有一个客户端的点击事件(OnClientClick),大家知道,ASP.NET 页面ASPX页面被创建的时候会生成 一段代码 <input type="hidden" name="__EVENTTARGET"

Activity是如何接收到touch事件的(窗口与用户输入系统)

在<浮窗开发之窗口层级>这片文章中,开篇提出了三个问题: * 窗口层级关系(浮窗是如何"浮"的)? * 浮窗有哪些限制,如何越过用户授权实现浮窗功能? * Activity是如何接收到touch事件的? 前两个问题在前两篇文章中已经分析,在这篇文章中我们以第三个问题为切入点,简单分析一下窗口与用户输入的关系. Touch事件是如何分发到Activity上来的? 正常的思路是直接去寻找Activity 的dispatchTouchEvent方法,我们看看Activity的di

Javascript:仿淘宝搜索框用户输入事件的实现

打开淘宝网首页,找到淘宝首页的搜索框,大家可以看到,当页面一打开,搜索框中就可以看到灰色字体"少女高跟鞋",还有闪烁的光标.当用户点击输入的时候,灰色字消失.当用户清空文本框的所有内容的时候,灰色字自动恢复. 接下来,这个小案例就是要介绍如何实现这种效果,即用户输入事件. 判断用户输入的事件有 oninput 和onpropertychange .当然,想必你能想到,由于浏览器兼容的问题,他们出现的场合有所不同. 正常浏览器支持oninput ,而 IE6.IE7.IE8 支持的 on

Android开发中利用imeOptions属性将键盘回车键改成搜索等功能键【提高用户输入体验】

Android中键盘输入是用户输入交互的最常用最直接的手段,关于键盘输入,有几点可以提高用户使用体验. 第一:弹出键盘整体页面上移,使键盘不遮挡控件,需要在AndroidManifest设置对应Activity的windowSoftInputMode属性 stateVisible 设置为这个属性,可以将软键盘召唤出来,即使在界面上没有输入框的情况下也可以强制召唤出来 adjustResize 这个属性表示Activity的主窗口总是会被调整大小,从而保证软键盘显示空间. 效果如下图所示: <ac

弹框提示用户输入

在很多页面,都会有提示用户输入账号和密码的弹框.并保障用户的良好体验效果. <html>   <head>   <title></title>   <meta http-equiv="content" content="text/html" charset="utf-8"/>   <style type="text/css">   body{   back

javascript 中 keyup、keypress和keydown事件

keyup.keypress和keydown事件都是有关于键盘的事件 1. keydown事件在键盘的键被按下的时候触发,keyup 事件在按键被释放的时候触发    keydown.keypress事件触发在文字还没敲进文本框,这时如果在keydown.keypress事件中输出文本框中的文本,得到的是触发键盘事件前的文本,而keyup事件触发时整个键盘事件的操作已经完成,获得的是触发键盘事件后的文本 注意:        KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,

Android手机上,利用bat脚本模拟用户操作

---- 那么你就可以来看看这篇帖子了. 言归正传 利用bat脚本模拟用户操作,需要用到两点: ①就是adb命令了,adb命令可以用来模拟用户在手机上的操作 ②bat语言,就是批处理语言,主要用来进行逻辑处理,跟众多语言语法一样,批处理语言也包括for循环.if语句之类的语法: 一.adb命令 首先我们来介绍模拟用户在手机上操作的adb命令 input keyevent //发送键盘事件 用法说明: adb shell input keyevent "value" usage: inp

创建供用户输入的表单

利用相关的表单元素,创建供用户输入的表单,获取用户的输入. 代码如下: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>taobaodenglvyemian</title></head><body><form action="http://www.taobao.com&