为了账号安全,请及时绑定邮箱和手机立即绑定

理解onkeypress事件【案例1:用户无法再输入框里输入数字】

标签:
JavaScript

本程序源代码可在“W3C”网站下载,下文是以此源代码作为案例来分析

<body>
<script type="text/javascript">
function noNumbers(e)
{
var keynum
var keychar
var numcheck
if(window.event) // *兼容IE浏览器
    {
    keynum = e.keyCode  //*获取键盘按键的Unicode值
    }
else if(e.which)   //兼容 Netscape/Firefox/Opera
    {
    keynum = e.which  //*获取键盘按键的Unicode值
    }
keychar = String.fromCharCode(keynum)
  /*接受keynum的Unicode 值,返回字符串给变量。*/
numcheck = /\d/     /* 匹配一个字数字符,[0-9] */
return !numcheck.test(keychar)
/*非字数字符返回true,是字数字符返回False*/
}
</script>
<form>
Type some text (numbers not allowed):
<input type="text" onkeypress="return noNumbers(event)" />
</form>
</body>

重点理解:“这里的return”

input type="text" onKeyPress="return noNumbers(event)"
【这里的return是做一个判断,一般情况下,noNumbers()方法里会return false或者return true,这个时候外面的return就会起作用,如果方法里面return true,那么js代码中后续操作会继续执行。如果是return false那么js代码中后续操作就不会执行】

代码分析【这里感谢“磁单极”同学的帮忙,援助。】

当在文本框里按下一个按键时,会调用noNumbers(event)函数。函数内定义三个变量,“keynum”是用来接收键盘按键的Unicode值,Keychar是把Unicode值返回成字符串赋值给它,numcheck是用来匹配一个数字字符【0-9】,通过"if......else if"语句兼容浏览器获得键盘按键的Unicode值。返回字符串中不符合“numcheck”库的字符【即如果是数字就return false失效,非数字return true】
图片描述
本代码知识点:【详解见后续文章】
1."window.event"

  1. "keyCode"
    3."which"
    4."fromCharCode"
  2. "test"
  3. "/ \d/"

代码知识点更新情况:
text()方法。【也更新,敬请围观、评论。】

点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消