js基础——事件的绑定

使用对象.事件 = 函数的形式只能为对象添加一个响应函数,后添加的函数会覆盖之前的函数。

1、addEventListener(参数1,参数2,参数3)

可以添加多个函数。

参数1:事件的字符串,没有前缀on;

参数2:回调函数,当事件触发时调用该函数;

参数3:是否在捕获阶段调用事件,一般为false。

2、attachEvent(参数1,参数2)

在IE8以下浏览器中使用。

参数1:事件的字符串,需要添加on;

参数2:回调函数。

执行顺序与addEventListener相反,后绑定的先执行。

在使用addEventListener()与attachEvent()时,返回的this值不同。

使用匿名函数调用回调函数,自己设置回调函数返回的对象,从而改变this的指向。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件的绑定</title>
    <script>
        window.onload = function () {
            var b1 = document.getElementById("b1");

            bind(b1, "click", function () {
                alert(this);
            });

            function bind(obj, str, callback) {
                if (obj.addEventListener) {
                    obj.addEventListener(str, callback, false);
                } else {
                    obj.attachEvent("on" + str, function () {
                        callback.call(obj);
                    });
                }
            }
        }
    </script>
</head>
<body>
<button id="b1">点击按钮</button>
</body>
</html>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值