首页  >  问答  >  正文

javascript - addEventListen往第二个参数里面传入this实现绑定事件

最近在看一些库的源码实现,发现了往addEventListener第二个参数里面传入this的情况,觉得比较疑惑所以上来提问下。以下的代码是我简单的精简并且通过了测试的

    <script>
        this.onclick=function(){
            console.log('onclick');
        }
        app.addEventListener('click',this);
    </script>

为什么可以使用这种方式绑定事件?

怪我咯怪我咯2735 天前915

全部回复(2)我来回复

  • 高洛峰

    高洛峰2017-05-18 11:05:11

    addEventListener的第二个参数可以传一个对象,当事件触发时,这个对象的handleEvent方法被调用,像这样:

    document.body.addEventListener(
        'click',
        {
            handleEvent: function() {
                alert('body clicked');
            }
        },
        false);

    参考:
    addEventListener第二个参数的handleEvent
    http://peter.michaux.ca/artic...
    MDN

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-18 11:05:11

    你确定这个addEventListener是Js原生的window.addEventListener吗?

    回复
    0
  • 取消回复