请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

fn含义

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>事件代理通用</title>
</head>
<body>
    <div id="div1">
        <a href="#1" id="a1">1</a>
        <a href="#2">2</a>
        <a href="#3">3</a>
    </div>
    
</body>
<script>
        function bind(ele,type,selector,fn){
            if(fn==null){
                fn=selector;
                selector=null;
            }

            ele.addEventListener(type,function(e){
                var target;
                if(selector){
                    target=e.target;
                    if(target.matches(selector)){
                        fn.call(target,e)
                    }
                }else{
                    fn(e)
                }
            })
        }

        // 代理
        var div1=document.getElementById('div1');
        var a=div1.getElementsByTagName(a)
        bind(div1,'click','a',function(e){
            e.preventDefault();
            console.log(this.innerHTML)
        })
        // 不适应代理
        // var a1=document.getElementsByTagName('a1');
        // bind(a,'click',function(e){
        //     e.preventDefault();
        //     console.log(this.innerHTML)
        // })
</script>
</html>

想知道里面的fn指的是addEventListener的第二个参数嘛

正在回答 回答被采纳积分+3

2回答

双越 2019-02-22 18:14:17

fn 不是 addEventListener 的参数啊。你看下 addEventListener 里面的代码,代码中有 fn 参数的执行。

0 回复 有任何疑惑可以回复我~
提问者 玥玥颜 2019-02-22 14:35:22

不对,fn是执行的时候给的参数

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号