老师 你好 我想请问下我这个代码哪里错了 老师这里form类型的表为啥就不需要one.value.charCode直接one.charCode就行了呢 谢谢老师

来源:4-19 事件对象(3)

慕仙0240544

2022-07-15 16:50:52

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<body>

    <input type="text" id="one">

    <script>

        var one=document.getElementById('one');

        one.onkeypress=function(e){

            if(!((one.charCode>96&&one.charCode<123)||(one.charCode>47&&one.charCode<58)))

            e.preventDefault();

        }

    </script>

</body>

</html>


写回答

2回答

慕仙0240544

提问者

2022-07-15

老师 我知道问题是出在e.charCode上了 但是我明明是输入到文本框里是进到one里了 又不是进入了系统自带的对象event里去了 为啥是用e.charCode 而不是one.value.charCode呢 谢谢老师

0

好帮手慕久久

2022-07-15

同学你好,charCode是事件对象的属性,不是表单元素的属性,不能通过表单元素获取,代码需要做如下修改:

https://img.mukewang.com/climg/62d12c8f09dedb2c09850152.jpg

“事件对象.charCode”用来“获取用户输入的字符的字符码”,是固定写法,记住即可。

祝学习愉快!

0

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程