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:事件名称,可以是自定义 ...
随机推荐
- 监控系统的多协议直播(RTSP RTMP HTTP Live Streaming)
监控系统的多协议直播(RTSP RTMP HTTP Live Streaming)
- ConcurrentHashMap和HashTable的区别
hashtable是做了同步的,hashmap未考虑同步.所以hashmap在单线程情况下效率较高.hashtable在的多线程情况下,同步操作能保证程序执行的正确性. 但是hashtable每次同步 ...
- TCP/IP滑动窗口
T C P使用一种窗口(w i n d o w)机制来控制数据流.当一个连接建立时,连接的每一端分配一个缓冲区来保存输入的数据,并将缓冲区的尺寸发送给另一端.当数据到达时,接收方发送确认,其中包含了自 ...
- [加密]C#实现维吉尼亚加密与解密(解密前提为已知密匙)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Adobe Premiere 基本使用
第一节 Premiere概述 1.1概述 Premiere是Adobe公司出品的一款用于进行影视后期编辑的软件,是数字视频领域普及程度最高的编辑软件之一.对于学生媒体而言,Premiere完全可以 ...
- ActionScript 3.0 API 中的 Video 类
注:这个类在Flash流媒体开发中使用的很频繁,在此记录一下它的使用方法. 包 flash.media 类 public class Video 继承 Video DisplayObject Ev ...
- 谈谈java虚拟机
本文可作为北京圣思元深入java虚拟机的课堂笔记. 先看一个令人dan teng的面试题 public class Singleton { public static Singleton s=new ...
- MTK6577+Android之Camera驱动
MTK6577+Android之Camera驱动 <MTK安卓平台的Camera效果在线调试> 1. Camera拍照相关概念 1.1 ISP isp--(Image Signa ...
- Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- C语言之插入排序
插入法排序的要领就是每读入一个数立即插入到最终存放的数组中,每次插入都使得该数组有序. 上代码: #include <stdio.h> #include <stdlib.h> ...