在初学jquery时,就已经掌握了on()函数的基本用法,用来给DOM元素绑定事件,但是如何在绑定事件的同时向事件处理函数传递参数呢?这就需要了解on()函数的一些细节用法:

on()函数的两种使用方法:

用法一:jQueryObject.on( events [, selector ] [, data ], handler )

用法二:jQueryObject.on( eventsMap [, selector ] [, data ] )

参数说明:

events: String类型,事件名称,如 click,focus等

eventsMap: Object对象,其每个属性对应事件类型和可选的命名空间(参数events),属性值对应绑定的事件处理函数(参数handler),如下:

var data = { id: 5, name: "张三" };
var events = {
    "mouseenter": function(event){
        $(this).html( "你好," + event.data.name + "!");       
    },
    
    "mouseleave": function(event){
        $(this).html( "再见!");
    }       
};
//为n5绑定mouseenter mouseleave两个事件,并为其传入附加数据data
$("body").on(events, "#n5", data);

selector: jQuery选择器,相当于事件委托给后代元素

data: 一般为JSON,用于返回绑定当前事件处理函数时传递的附加数据,在函数里取传过来的值时,写法为 event.data.name

handler: 事件处理函数

相关文章:

  • 2022-12-23
  • 2022-02-04
  • 2021-09-19
  • 2021-12-25
  • 2021-08-29
  • 2021-09-21
  • 2021-12-17
  • 2021-09-15
猜你喜欢
  • 2021-12-27
  • 2021-10-04
  • 2021-06-02
  • 2021-07-01
  • 2022-02-08
  • 2022-12-23
相关资源
相似解决方案