事件监听及委托

 事件监听

//事件监听
        //事件监听是对应的一个事件给到对应的元素
        //可以通过添加事件监听器给到某个元素,来给他绑定事件
        var div = document.getElementsByTagName('div')[0]
        //添加事件监听  参数一:事件名   参数2:对应执行方法
        div.addEventListener('click', addFn)
        var addFn = function () {
            console.log('hello world');
        }
        //移除事件监听  参数一:事件名   参数2:执行方法
        function remove() {
            div.addEventListener('click', addFn)
        }
        //注意:function是对象,引用数据类型,所以不能直接把函数写在括号里面
        //因为两个对象不对等
        //在IE8及以下的浏览器中, 我们可以使用以下方式:
        box.attachEvent("onclick", fn); //添加事件
        box.detachEvent("onclick", fn); //移除事件



        //完整兼容写法
        //添加
        function addEvent(element, type, fn, ) {
            if (element.addEventListener) {
                element.addEventListener(type, fn, false);
            } else {
                element.attachEvent("on" + type, fn);
            }
        }
        //移除
        function removeEvent(element, type, fn, ) {
            if (element.addEventListener) {
                element.addEventListener(type, fn, false);
            } else {
                element.attachEvent("on" + type, fn);
            }
        }

事件委托机制:

//事件委托机制
        //将事件委托给父元素,在父元素内使用target进行判断,当前点击的是哪个元素,再做相关操作
        var box = document.getElementById('box')
        box.onclick = function (e) {
            e = e || window.event
            console.log(e.target); //目标元素
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值