问答详情
源自:2-1 jQuery鼠标事件之click与dbclick事件

不明白这个click(1111, data)参数是怎么传递的

script type="text/javascript">

        //不同函数传递数据
        function data(e) {
            alert(e.data) //1111
        }

        function a() {
            $("button:eq(2)").click(1111, data)
        }
        a();

    </script>

我知道函数不加()是调用函数方法,可是这1111是怎么传递给函数data的

提问者:慕前端9656150 2016-09-07 15:54

个回答

  • heruibin322
    2016-09-07 16:22:30

    click(1111, data)

    这样理解,1111,就是你要在事件里面将要用到的外部数据(通过e.data来取值),如果事件里面你不需要用到外部的数据,你就可以省略这个参数,如果你要了解他是怎么实现的,你可以看JQUERY的源码,个人认为没有必要!


  • 学徒王小明
    2016-09-07 16:07:58

    $elem.click( [eventData ], handler(eventObject) )

    根据语法,eventObject 是事件对象,[eventData] 这个可选参数是 事件对象 的数据。我只理解表面的意思,底层如何实现就不知道了

  • 柚柚柚子咯
    2016-09-07 16:06:52

    相当于这样:

    function a() {

                $("button:eq(2)").click(1111, data(e){ // e为事件对象,是用来记录一些事件发生时的相关信息的对象。

                        alert(e.data)// 1111是传进去的数据,而e.data就是获取这个数据的

                })

    }

     a();