Dom中的事件绑定

目录

1. 0级事件绑定:on事件类型

2. 2级事件绑定:

3. 2级事件解绑:

注意:


dom中的事件绑定分为:0级事件绑定,2级事件绑定

1. 0级事件绑定:on事件类型

        作用:给元素绑定事件
        语法:dom元素.on事件类型 = 事件处理函数
        参数:无
        注意:dom0级绑定事件使用on关键字绑定,不能给同一元素添加多个统一类型的事件
        解绑事件的方法:dom元素.on事件类型 = null

代码模块展示:

<body>
    <button>点击我改变背景</button>

    <script>
        
        // 获取元素
        const btn = document.querySelector('button')
        // 给元素添加 0 级点击事件
        btn.onclick = function() {
            document.body.style.backgroundColor = 'red'
        }
        // 继续绑定事件
        btn.onclick = function() {
            alert('你好')
        }

        // 解绑事件
        btn.onclick = null
        // 第一个事件失效,dom 0 级事件不能给一个元素添加统一类型的多个事件、
        
    </script>
</body>

2. 2级事件绑定:

        addEventListener()
        作用:给dom元素绑定事件监听
        语法:dom元素.addEventListener('事件类型', 事件处理函数, true/false)
        参数:
            参数1:'事件类型'
            参数2:事件处理函数
            参数3:true表示事件捕获, false表示事件冒泡, 默认时false

代码模块展示:

<body>
    <button>点击我</button>
    <script>
     

        // 获取元素
        const btn = document.querySelector('button')
        // 给元素添加dom 2级事件 ,事件监听
        btn.addEventListener('click', function() {
            alert('nihao')
        })
        function nihao() {
            console.log('nihao')
        }
        // 继续添加二级事件
        btn.addEventListener('click',nihao)

        // 两个事件都会生效

        // 解绑事件
        btn.removeEventListener('click', nihao)
    </script>
</body>

3. 2级事件解绑:

        作用:给dom元素解除事件监听
        语法:dom元素.removeEventListener('事件类型', 事件处理函数的名称)
        参数:
            参数1:'事件类型'
            参数2:事件处理函数名

<body>
    <button>点击我</button>
    <script>
        

        // 获取元素
        const btn = document.querySelector('button')
        // 给元素添加dom 2级事件 ,事件监听
        btn.addEventListener('click', function() {
            alert('nihao')
        })
        function nihao() {
            console.log('nihao')
        }
        // 继续添加二级事件
        btn.addEventListener('click',nihao)

        // 两个事件都会生效

        // 解绑事件
        btn.removeEventListener('click', nihao)
    </script>
</body>

注意:

        当给一个dom元素绑定事件时,就要考虑这个事件之后会不会解绑
          1.要解绑时:将事件的处理函数写在外面,以便之后解绑事件,事件处理函数使用具名函数(就是有名字的函数)
          2.不解绑时:可以使用匿名函数写在addEventListener() 中
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值