jQuery中on()函数的用法笔记
2016-12-06 23:32
351 查看
jQuery中on()函数的用法笔记
1、用法一:on(events,selector,data,handler),
– 当我们要对一个或者多个元素绑定多个事件,同时对应一个事件处理函数时使用1.1、参数的含义结合代码片一:
a).events:一个或者多个事件名称加命名空间组成中间隔着空格,比如("click")|(“click.one mouseenter.two”); b).seletor:选择器,用于查找到选择绑定事件的DOM对象,可选,没有指定的时候默认将事件绑定在调用on函数的对象上; c).data:可选,传入的数据存放在e.data中,再间接传入到事件处理函数之中; d).handler:事件处理函数,可以用false代替;
代码片公用的html
<ul style="width: 400px;height: 400px;border: solid 1px #000"> <li>1</li> <li id="two">2</li> <li>3</li> <li>4</li> <li>5</li> </ul>
代码片一:
(function(){ var data = { name: "数据", } function handler(e){ console.log(e.data); console.log($(this).html()); } $("ul").on("click.one","#two",data,handler); /* 只有点击id为two的li才会触发 输出Object {name: "数据"} 2 */ $("ul").on("click.one",data,handler); /* 只要在ul的范围内点击就能够触发 输出 Object {name: "数据"} <li>1</li> <li id="two">2</li> <li>3</li> <li>4</li> <li>5</li> */ })();
总结:
1、首先如果将事件处理函数分离出来比如handler,在函数内部如果需要使用到event对象,则必须在函数声明的时候 必须设置e形式参数; 2、e.data的输出可以知道data参数是存放在event对象中的 3、对比两次绑定事件的输出: a).第一次绑定指定了selector,那么事件是绑定在由该s elector查找到的DOM元素 b).第二次是绑定在调用该on函数的ul上的 c).handler函数的this指向取决于事件绑定在谁上面,所 以两次的$(this).html()输出不一样
2、用法二:on(eventsMap,selector,handler)
– 在需要对一个或者多个对象绑定多个事件,并对应多个事件处理函数时候使用;2.1、参数的含义结合代码片二分析:
a).eventsMap:一个对象(事件--事件处理函数的映射),即是对象的属性key是事件名,属性值value是事件处理函数; 比如{ click: handler1, mouseenter: handler2 } b).seletor:选择器,用于查找到选择绑定事件的DOM对象,可选,没有指定的时候默认将事件绑定在调用on函数的对象上; c).data:可选,传入的数据存放在e.data中,再间接传入到事件处理函数之中;
代码片二:
var eventsMap = { click: handler1, mouseenter: handler2 } function handler1(e){ console.log("click"); } function handler2(e){ console.log("mouseenter"); } $("ul").on(eventsMap);
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- JavaScript演示排序算法
- 2015-2016网页设计趋势分析 Web Design of Trends
- jQuery Ajax 跨域调用
- 移动端的长按事件
- jquery教程靠边站,一分钱不花让你免费学会jquery
- JQuery+Strusts1.x无刷新登录
- $.ajax()方法详解
- jQuery ajax - ajax() 方法
- JavaScript 各种遍历方式详解
- 数组方法汇总
- seajs学习教程之基础篇
- jQuery Html控件基本操作(日常收集整理)
- jQuery插件实现文字无缝向上滚动效果代码
- jQuery菜单插件用法实例
- JQuery 初体验(建议学习jquery)
- 基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
- Jquery实现的table最后一行添加样式的代码
- jQuery实现向下滑出的平滑下拉菜单效果
- jQuery 练习[一] 学习jquery的准备工作