继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

jQuery事件参数传递的解读

GavinZeng
关注TA
已关注
手记 2
粉丝 8
获赞 42

jQuery提供了一系列便捷事件监听的方法,该方法同时允许传递一个参数,可以通过以下代码来了解:
HTML部分:
```<div>jQuery事件参数解读</div>

JS部分:

$("div").click(999,function(event){
    alert(event.data);
})

那么引出本文的问题:

  • click方法内函数的event是什么?
    当click方法调用函数时,会默认返回一个事件对象作为该函数的参数,这里的event就是该事件本身。
  • event.data中的data又是什么?
    click返回的事件中,默认添加了一个data属性,如果我们在.click()方法中尝试传入参数的时候,该参数将被传递给data属性,同理,我们在调用这个属性的时候,也必须指定该属性的对象是谁,所以才使用 event.data 这句来调用该属性。

那么?data是用来承载参数的事件的属性,那么data是什么类型呢?
data实际上是一个对象,因为对象可以拥有各种属性和方法,那么我们也可以将data的对象属性进行扩展,如下面的代码:

var userObj = {name:"imooc",age:999}
$("div").click(userObj,function(event){
    alert(event.data.name); //输出 imooc
})

以上可以得出结论:

  • click方法,调用函数的时候,会默认返回事件对象和该事件对象的data属性;
  • 如果需要使用该事件对象,必须给该事件对象命名,即函数中的参数;
  • .click方法,传入的任何参数或对象,都会被赋值给data属性,所以调用的时候,必须使用 data 来调用
打开App,阅读手记
5人推荐
发表评论
随时随地看视频慕课网APP