jQuery事件处理了解一下
>>> JQuery 事件处理
一、事件绑定方式
1、事件绑定的快捷方式:
缺点:绑定的事件,无法取消
$("button:eq(0)").dblclick(function(){
alert(123);
});
2、使用on进行事件绑定
① 使用on进行单事件绑定
$("button:eq(0)").on("click",function(){
alert(123);
});
$("button:eq(0)").off("click"); //解绑
② 使用on,同时给多个事件绑定同一函数
$("button:eq(0)").on("click dbclick mouseover",function(){
console.log(123);
});
③ 使用on,同时给多个事件分别绑定不同的函数
$("button:eq(0)").on({
"click":function(){
console.log("click");
},
"mouseover":function(){
console.log("mouseover");
}
});
④ 使用on,给回调函数传参,要求是对象格式。传递的参数可以在e.data中取到
$("button:eq(0)").on("click",{"name":"zhangsan","age":14},function(e){
console.log(e);
console.log(e.data);
console.log(e.data.name);
console.log(e.data.age);
// console.log(window.event);
});
[事件因子]
$("button:eq(0)").on("click",function(e){
console.log(e);
});
二、使用on事件委派
1、事件委派:将原来绑定在DOM节点上的事件,改为绑在其父节点甚至根节点上,然后委派给当前节点执行
$("p").on("click".function(){});
↓(事件委派)
$(document).on("click","p",function(){});
2、事件委派的作用:
① 将事件直接绑定在根节点上,可以减少事件绑定次数,更加节省资源;
② 使用事件委派绑定的事件,当页面新增同类型标签时,新的标签也可以获得绑定的已有事件。
三、 使用off() 取消事件绑定
$("button:eq(0)").on("click",function(){
alert(1);
});
function func(){
alert(2);
}
$("button:eq(0)").on("click",func);
$("button:eq(0)").off("click",func); // 只清除绑定了func函数的click事件
$("button:eq(0)").off("click"); // 清除所有的click事件
$("button:eq(0)").off("click dbclick"); // 同时清除多个事件
$(document).off("click","p"); // 清除事件委派
$("p").off(); // 清除绑定的所有事件
四、one() 绑定的事件只能执行一次
$("button:eq(0)").one("click",function(){
alert("只能执行一次");
});
五、其他事件函数
1、.trigger() 自动触发某个节点绑定的事件
接受两个参数:
① 需要触发的事件类型;
② 数组格式:传递给事件回调函数的参数
注意:
>>> 事件回调函数的第一个参数,必须是事件对象。因此,我们传递的参数从第二个开始接受;
>>> 传递的参数,可以使用arguments进行读取。
2、.triggerHandler():用法与trigger相同
【triggerHandler 和 trigger 区别】
① triggerHandler不能触发HTML事件,例如表单的submit事件;
trigger可以触发所有事件!
② triggerHandler只能触发所有匹配元素中的第一个元素的事件;
trigger将触发所有匹配元素的事件!
③ triggerHandler的返回值,是事件回调函数的返回值。如果事件回调函数没有返回值,则返回Undefined;
trigger的返回值永远是调用事件的DOM对象。符合JQuery的可链式语法!
3、hover():接受两个函数,分别表示mouseover() mouseout()两个事件。
如果只写一个函数,表示mouseover
$("p:eq(0)").hover(function(){
$(this).css("background-color","red");
},function(){
$(this).css("background-color","blue");
});
4、toggle()
① 不传参数,表示:当前元素如果为显示状态,则隐藏;如果为隐藏状态,则显示;
② 传入一个动画执行效果: "ease" "slow" "fast"
$("p:eq(0)").toggle("fast");
③ 传入一个函数,表示:
暗藏动画或显示动画,完成后执行的回调函数。
④ 接受一个Boolean类型的参数,表示:
如果传入的是true则显示当前元素;如果传入的是false则隐藏当前元素。

jQuery事件处理了解一下的更多相关文章
- [DOM Event Learning] Section 3 jQuery事件处理基础 on(), off()和one()方法使用
[DOM Event Learning] Section 3 jQuery事件处理基础 on(),off()和one()方法使用 jQuery提供了简单的方法来向选择器(对应页面上的元素)绑定事件 ...
- jQuery事件处理(四)
看了几天,决定整理一下jQuery事件处理的整体设计思路 1.通过add方法给选中的元素注册事件处理程序(通过缓存系统将事件储存到cache,而不是绑定到元素上) a.在存储之前,会为事件处理程序增加 ...
- Unit02: jQuery事件处理 、 jQuery动画
Unit02: jQuery事件处理 . jQuery动画 jQuery实现购物车案例 <!DOCTYPE html> <html> <head> <titl ...
- JQuery事件处理的注意事项
1.jQuery 名称冲突 jQuery 使用 $ 符号作为 jQuery 的简介方式. 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号. jQuery 使用 ...
- 02-老马jQuery教程-jQuery事件处理
1. 绑定简单事件 在DOM中DOM0级绑定事件的方式是直接给事件属性赋值,但是这样有个缺点就是每次指定的事件处理程序会把之前的覆盖掉. jQuery简单绑定事件的方式,可以让我绑定多个事件处理程序跟 ...
- jQuery事件处理(七)
1.自定义事件(用户手动trigger的一般都是自定义事件) trigger: function( event, data, elem, onlyHandlers ) { var i, cur, tm ...
- jQuery事件处理(六)
1.通过一步步调试的的方法观察了一下存放到cache中的事件及其处理程序的数据格式: { events : { // 根据事件类型存放添加到该元素上的所有事件,下面以click为例 click : [ ...
- jQuery事件处理(五)
对原生js不熟悉看jQuery会困难很多.后续需要更多的关注下原生js jQuery封装之后的事件触发,其中一个分支(处理普通事件)是通过:elem.addEventListener( type, e ...
- jQuery事件处理(一)
1.jQuery事件绑定的用法: $( "elem" ).on( events, [selector], [data], handler ); events:事件名称,可以是自定义 ...
随机推荐
- SwipeRefreshLayout实现上拉下拉刷新
1:在布局中添加SwipeRefreshLayout和Listview组件 [html] view plain copy <?xml version="1.0" encodi ...
- 如何将sqlserver的windows验证模式改为SQL Server 和 Windows 混合身份验证模式
今天问同事拷贝了份虚拟机,里面已装好sqlserver2008,可是他装的时候选择的是windows身份验证,我需要将其改成SQL Server 和 Windows 混合身份验证模式,具体步骤如下: ...
- 集群通信组件tribes之应用程序处理入口
Tribes为了更清晰更好地划分职责,它被设计成用IO层和应用层,IO层专心负责网络传输方面的逻辑处理,把接收到的数据往应用层传送,当然应用层发送的数据也是通过此IO层发送,数据传往应用层后必须要留一 ...
- Erlang Rebar 使用指南之三:Rebar和OTP程序约定和命令
Erlang Rebar 使用指南之三:Rebar和OTP程序约定和命令 全文目录: https://github.com/rebar/rebar/wiki 本章位置: https://github. ...
- ubuntu如何添加新的PPA
首先要知道PPA源地址,比如: ppa:gwibber-daily/ppa 然后用apt-get指令添加: sudo add-apt-repository ppa:gwibber-daily/ppa ...
- PhotoShop 图像处理 算法 汇总
不定期更新 ...... 直接点标题即可链接到原文. OpenCV 版:OpenCV 图像处理 图层混合算法: PS图层混合算法之一(不透明度,正片叠底,颜色加深,颜色减淡)PS图层混合算法之二(线性 ...
- HBase Region级别二级索引
我们会经常谈及二级索引,这是对全表数据进行另外一种方式的组织存储,是针对table级别的.如果要为HBase上的表实现一个强一致性的二级索引,那么就无法逃避分布式事务,而这一直是用户最期待的功能. 而 ...
- vs2010修改状态栏的CStatusBar指针的的SetPaneText()方法时死活不对问题
vs2010的mfc在有些地方不太一样不容易注意到,今天在修改状态栏的时候,就碰见了问题,死活修改不了. 参照下面的帖子: 点击打开链接 : 使用VS2010更改MFC程序的状态栏 2011-04-1 ...
- SharePoint 查找字段内部名称的小方法
今天逛博客园,偶然看到了下面的文章,介绍不用工具查看SharePoint字段内部名称,也介绍下自己的小方法. http://www.cnblogs.com/sunjunlin/archive/2012 ...
- LeetCode(28)-Remove Duplicates from Sorted Array
题目: Given a sorted array, remove the duplicates in place such that each element appear only once and ...