理解onkeypress事件【案例1:用戶無法再輸入框里輸入數(shù)字】
標(biāo)簽:
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"
- "keyCode"
3."which"
4."fromCharCode"- "test"
- "/ \d/"
代码知识点更新情况:
text()方法。【也更新,敬请围观、评论。】
點(diǎn)擊查看更多內(nèi)容
2人點(diǎn)贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦