30.5 JavaScript事件监听机制、事件绑定、注册页面实现校验各个表单项

本文详细介绍了JavaScript的事件监听机制,包括事件源、监听器和常见事件监听器。并探讨了两种事件绑定方式:HTML标签直接指定和JS获取元素设置函数。文章通过实例,讲解了onclick事件实现表格全选、其他事件练习和onsubmit表单事件的运用。最后,提供了注册页面中各表单项校验的综合练习。
摘要由CSDN通过智能技术生成

目录

1 事件监听机制

2 事件绑定

3 事件练习

3.1 onclick点击事件实现表格的全选和全部选

3.2 其他事件练习 

3.3 onsubmit表单事件练习

4 综合练习:注册页面实现校验各个表单项


1 事件监听机制

 概念:某些组件被执行了某些操作后,触发某些代码的执行。

  1.  事件:某些操作。如: 单击,双击,键盘按下了,鼠标移动了
  2.  事件源:组件。如: 按钮 文本输入框...
  3.  监听器:代码。
  4.  注册监听:将事件,事件源,监听器结合在一起。 当事件源上发生了某个事件,则触发执行某个监听器代

常见的时间监听器:

1. 点击事件         1. onclick:单击事件
        2. ondblclick:双击事件
2. 焦点事件         1. onblur:失去焦点
        2. onfocus:元素获得焦点。
3. 加载事件         1. onload:一张页面或一幅图像完成加载。
4. 鼠标事件         1. onmousedown    鼠标按钮被按下。
        2. onmouseup    鼠标按键被松开。
        3. onmousemove    鼠标被移动。
        4. onmouseover    鼠标移到某元素之上。
        5. onmouseout    鼠标从某元素移开。
5. 键盘事件:         1. onkeydown    某个键盘按键被按下。    
        2. onkeyup        某个键盘按键被松开。
        3. onkeypress    某个键盘按键被按下并松开。
6. 选择和改变         1. onchange    域的内容被改变。
        2. onselect    文本被选中。
7. 表单事件:         1. onsubmit    确认按钮被点击。
        2. onreset    重置按钮被点击。

2 事件绑定

事件绑定有两种方式:

  1. 直接在html标签上,指定事件的属性(操作),属性值就是js代码
  2. 通过js获取元素对象,指定事件属性,设置一个函数

列:直接在html标签上,指定事件的属性(操作),属性值就是js代码

<body>
    <img id="light" src="./img/off.gif" alt="灯泡" onclick="fun();">
<script>    
    function fun() {
        document.write("我是灯泡");
    }

</script>
</body>

列:2. 通过js获取元素对象,指定事件属性,设置一个函数

<body>
    <img id="light" src="./img/off.gif" alt="灯泡">
<script>
    function fun() {
        document.write("我是灯泡");
    }
    var linght=document.getElementById("light");
    linght.onclick=fun;
</script>
</body>

3 事件练习

3.1 onclick点击事件实现表格的全选和全部选

    <style>
        table{
            border: 1px solid gray;
            width: 60%;
            margin: auto;
        }
        td,th{
            text-align: center;
            /*border-collapse: separate;*/
            border: 1px solid gray;
            margin: 0;
        }
        div{
            margin-top: 10px;
            margin-left: 20%;
        }
    </style>
    <script>
        window.onload=function(){
            //1 全选btn按钮
            document.getElementById("selectAll").onclick=function () {
                var checkbox=document.getElementsByName("checkbox");
                for(var i=0;i<checkbox.length;i++){
                    checkbox[i].checked=true;
                }
            }
            //2  全不选btn按钮
            document.getElementById("unSelectAll").onclick=function () {
                var checkbox=document.getElementsByName("checkbox");
                for(var i=0;i<checkbox.length;i++){
                    checkbox[i].checked=false;
                }
            }
            //3  反选btn按钮
            document.getElementById("selectRev").onclick=function () {
                var checkbox=document.getElementsByName("checkbox");
                for(var i=0;i<checkbox.length;i++){
                    checkbox[i].checked=!checkbox[i].checked;//设置每一个cb的状态为相反
                }
            }
            //4 点击第一个多选框时
            document.getElementById("firstCb").onclick=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值