script type="text/javascript"> //不同函数传递数据 function data(e) { alert(e.data) //1111 } function a() { $("button:eq(2)").click(1111, data) } a(); </script>
我知道函数不加()是调用函数方法,可是这1111是怎么传递给函数data的
click(1111, data)
这样理解,1111,就是你要在事件里面将要用到的外部数据(通过e.data来取值),如果事件里面你不需要用到外部的数据,你就可以省略这个参数,如果你要了解他是怎么实现的,你可以看JQUERY的源码,个人认为没有必要!
$elem.click( [eventData ], handler(eventObject) )
根据语法,eventObject 是事件对象,[eventData] 这个可选参数是 事件对象 的数据。我只理解表面的意思,底层如何实现就不知道了
相当于这样:
function a() {
$("button:eq(2)").click(1111, data(e){ // e为事件对象,是用来记录一些事件发生时的相关信息的对象。
alert(e.data)// 1111是传进去的数据,而e.data就是获取这个数据的
})
}
a();