jQuery之事件even
一、事件列表
1.blur() 当失去焦点时触发。包括鼠标点击离开和TAB键离开。
2.change() 当元素获取焦点后,值改变失去焦点事触发。
3.click() 当鼠标单击时触发。
4.dblclick() 当鼠标双击时触发。
5.error() 当javascript出错或img的src属性无效时触发。
6.focus() 当元素获取焦点时触发。注意:某些对象不支持。
7.focusin() 当元素或其子元素获取焦点时触发,与focus()区别在于能够检测其内部子元素获取焦点的情况。
8.focusout() 当元素或者其子元素失去焦点时触发,与focusout()区别在于能够检测内部子元素失去焦点的情况。
9.keydown() 当键盘按下时触发。
10.keyup() 当按键松开时触发。
11.mousedown() 当鼠标在元素上点击后触发。
12.mouseenter() 当鼠标在元素上穿过时触发。mouseenter与mouseover的区别是,鼠标从mouseover的子元素上穿过时也会触发而mouseenter不会。
13.mouseleave() 当鼠标从元素上移出时触发。
14.mousemove() 当鼠标在元素上移动时触发。.clientX 和 .clientY分别代表鼠标的X坐标与Y坐标。
15.mouseout() 当鼠标从元素上移开时触发。
16.mouseover() 当鼠标移入元素时触发。
17.mouseup() 当鼠标左键按下释放时触发。
18.resize() 当浏览器窗口大小改变时触发。 $(window).resize();
19.scroll() 当滚动条发生变化时触发。
20.select() 当input里的内容被选中时触发。
21.submit() 提交选中的表单。
22.unload() 当页面卸载时触发。
2016-11-17更新
mouseover与mouseenter
不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。
只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。
mouseout与mouseleave
不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。
只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。
二、事件常用方法
事件名称 | 说明 |
bind | 绑定事件 |
hover | 切换事件 |
toggle | 顺序执行事件 |
unbind | 移除事件 |
one | 仅执行一次的事件 |
trigger | DOM加载完毕后自动执行的事件 |
live | 从DOM根节点为元素绑定事件 |
die | 解除live()方法绑定的事件 |
delegate | 为指定的元素添加一个或多个事件,并绑定处理函数,一个事件也可以绑定多个函数 |
undelegate | 删除由delegate()函数绑定的一个或多个事件处理函数 |
ready | 当DOM元素加载完成后绑定处理事件 |
1、绑定事件
语法:bind(type,[data],fn) type参数可以是顶部的22个方法(注意:不能带括号); 参数data是属性值传递给事件对象的额外数据,fn是处理函数。可以bind多个事件,也可以为同一事件绑定多个函数。
$("#div1").bind("change",function(){ alert("你好!"); })
$("#div1").bind("click mouseout",function(){ alert("你好!"); })
2、切换事件
语法:hover(fn1,fn2); 鼠标移入执行第一个函数,鼠标移出执行第二个函数。相当于mouseenter与mouseleave。
$("#div1").hover(function(){alert("鼠标移入我啦");},function(){alert("鼠标移出我啦!");})
3、顺序执行事件
语法:toggle(fn1,fn2,fn3...) 当鼠标单击时,依次执行绑定的事件
$("#div1").toggle(function(){alert(1);},function(){alert(2);},function(){alert(3);})
4、unbind 移除事件
语法:unbind([type],[fn]) 移除元素已经绑定的事件,type:指定要移除的事件,fn指定要移除的方法。当没有参数时,所有的事件都移除。注意,用live()方法绑定的方法移出不了,live()绑定的方法要用它自己的die()来移出。
$(":button").unbind(); 移除按钮的所有事件。
$(":button").unbind("click"); 移除按钮的单击事件。
$(":button").unbind("click",fn1); 移除按钮的单击事件中的fn1函数,如果该事件绑定了多个函数,对其他函数没影响。
5、one 仅执行一次的事件
语法:one(type,[data],fn) 绑定一个仅执行一次的事件
$("#div1").one("click",function(){ alert("我只执行一次!"); })
6、trigger DOM加载完毕后自动执行的事件
语法:trigger(type,[data]) DOM元素加载完成后自动执行
$("#div1").bind("bclick",function(){ alert("你好"); });
$("#div1").trigger("bclick"); //注意,trigger一定要放在绑定的事件之后,否则不执行。
7、live() DOM根节点绑定事件
语法:live(type,[fn]) String,Function
live(type,[data],false) String,Array,bool
live()在根节点绑定事件,通过事件冒泡到DOM根节点($(ducoment)),再对比触发事件的元素来判断事件是否应该执行。效率不高,因此不能完全替代bind()但是有个好处,就是后期加载出来的元素同样能够绑定。但是有个缺点,就是live()方法仅仅能使用CSS选择器选择被绑定元素。
如$('a').live('click', function(){alert("你好!");}) JQuery把alert函数绑定到$(document)元素上,并使用’click’和’a’作为参数。任何时候只要有事件冒泡到document节点上,它就查看该事件是否是一个click事件,以及该事件的目标元素与’a’这一CSS选择器是否匹配,如果都是的话,则执行函数。
live(type,data,fn)
$("#div1").live("click",function(){ alert("你好"); }) //即使页面一开始不存在id="div1"的元素,是后期AJAX或js加载上去的,但是依然有效。
$("#div1").live("click mouseout",function(){ alert("你好"); }) //可以live()多个事件。
8、die() 解除live()方法绑定的事件 //绑定与解除是对应的,die()解除不了bind()和delegate绑定的方法。 可以为一个元素live多个事件,也可以为同一事件live多个函数。
语法die(type,[fn]) string Function其中Function为可选方法。
$("#div1").die();
$("#div1").die("click");
$("#div1").die("click",fn1); //其中fn1为某函数名。如果是绑定的是一个匿名函数,第二个参数用于当为同一事件live了多个函数的时候,解除一个函数对其他函数没影响。
9、delegate() 为指定的元素添加一个或多个事件,并绑定处理函数,一个事件也可以绑定多个函数。注意:此函数要1.4.2版添加。delegate()允许在父元素中将时间绑定当前页面还未的元素,这点与Live()类似,但是即使是$(document).delegate()也比live()方法的效率要高,另外delegate()还能将尚未出现的元素绑定到离它更近的父元素上。
语法:
delegate(selector,[type],fn) String String Function //selector必须为所选元素的子元素
delegate(selector,[type],[data],fn) String String Object Function
delegate(selector,events) String String
如:
$('#container').delegate('a', 'click', function() { alert("你好!") });
JQuery扫描文档查找$(‘#container’),并使用click事件和’a’这一CSS选择器作为参数把alert函数绑定到$(‘#container’)上。任何时候只要有事件冒泡到$(‘#container’)上,它就查看该事件是否是click事件,以及该事件的目标元素是否与CCS选择器相匹配。如果两种检查的结果都为真的话,它就执行函数。
$("#div1").delegate("#button1","click",function(){ alert("你好啊!"); }); //注意:#button1必须为#div1的子元素
10、undelegate() 删除有delegate()函数绑定的一个或多个事件处理函数
语法:
undelegate(selector,[type]) String String
undelegate(selector,[type],fn) String String Function
undelegate(selector,events) String String
undelegate(namespace) String
11、ready() 当DOM元素加载完成后绑定处理事件
$(document).ready()
作者:逆心 |
出处:http://www.cnblogs.com/kissdodog/archive/2012/12/08/2808799.html |
jQuery之事件even的更多相关文章
- Jquery的事件操作和文档操作
对于熟悉前端开发的小伙伴,相信对于Jquery一定不陌生,相对于JavaScript的繁琐,Jquery更加的简洁,当然简洁不意味着简单,我们可以使用Jquery完成我们想要实现全部功能,这里为小白们 ...
- 深入学习jQuery鼠标事件
× 目录 [1]类型 [2]写法 [3]合成事件[4]鼠标按键[5]修改键[6]坐标位置 前面的话 鼠标事件是DOM事件中最常用的事件,jQuery对鼠标事件进行了封装和扩展.本文将详细介绍jQuer ...
- 从零开始学习jQuery (五) 事件与事件对象
本系列文章导航 从零开始学习jQuery (五) 事件与事件对象 一.摘要 事件是脚本编程的灵魂. 所以本章内容也是jQuery学习的重点. 本文将对jQuery中的事件处理以及事件对象进行详细的讲解 ...
- jquery的事件命名空间详解
jquery现在的事件API:on,off,trigger支持带命名空间的事件,当事件有了命名空间,就可以有效地管理同一事件的不同监听器,在定义组件的时候,能够避免同一元素应用到不同组件时,同一事件类 ...
- jquery css事件编程 尺寸设置
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jquery css事件编程 位置 操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 不写完不让回家的JQuery的事件与动画
在这看不见太阳的小黑屋里,苦逼的一天又开始了 好了闲话我也就不扯了,接下来我就来说说我对jQuery事件和动画的理解吧!!! 还是得再扯两句,我们敬爱的,Y老师讲完了,jQuery事件和动画,对着我们 ...
- jQuery scroll事件实现监控滚动条分页示例(转)
这篇文章主要介绍了jQuery scroll事件实现监控滚动条分页简单示例,使用ajax加载,同时介绍了(document).height()与$(window).height()的区别,需要的朋友可 ...
- jquery双击事件
<html> <head><meta http-equiv="Content-Type" content="text/html; chars ...
- js 事件冒泡是什么如何用jquery阻止事件冒泡
什么是事件起泡:一个事件不能凭空产生,这就是事件的发生等等,接下来为大家介绍下jquery阻止事件起泡以及关于js事件起泡的验证,感兴趣的朋友可以参考下哈 (1)什么是事件起泡 首先你要明 ...
随机推荐
- 3D 服务器端以向量计算为主的角色位置的算法
把我以前学习过的一个东西拿出来分享下~ 3D服务器端玩家行走处理是服务器端根据客户端行走路径.玩家行走时间以及速度(包括变化速度)计算得出玩家的当前位置. 由于客户端行走是一条路径,不使用2D中的格子 ...
- glibc 安装( version `GLIBC_2.14' not found")
在ubuntu上编译的东西 拿到CentOS 下运行 提示 :“/lib64/libc.so.6: version `GLIBC_2.14' not found” 原因是ubuntu上用的libc 版 ...
- ubuntu14.04下unix网络编程环境的配置
建议 unpv13e/README看一下,忽略一下内容 ===================================================================== 操作 ...
- [Leetcode] Validate BST
给一个Binary Tree,检查是不是Binary Search Tree. 即是否满足对每个节点,左子树的中的所有节点的值 < 当前节点的值 < 右子树所有节点的值. Solution ...
- Python模块subprocess小记
转自:http://www.oschina.net/question/234345_52660 熟悉了Qt的QProcess以后,再回头来看python的subprocess总算不觉得像以前那么恐怖了 ...
- TF卡的Class4/Class6/Class10
TF卡全称TransFlash卡,即T-Flash又称MicroSD,随设备微型化的需要,TF卡用途越来越广,速度也越来越快,从最初的Class2早已发展到目前主流的Class10,TF卡体积为15m ...
- Lea指令计算地址(用于四则混合运算),附上一个函数调用例子及其反汇编代码,很清楚
比如你用local在栈上定义了一个局部变量LocalVar,你知道实际的指令是什么么?一般都差不多像下面的样子: push ebp mov esp, ebp sub ...
- [LeetCode] Burst Balloons (Medium)
Burst Balloons (Medium) 这题没有做出来. 自己的思路停留在暴力的解法, 时间复杂度很高: 初始化maxCount = 0. 对于当前长度为k的数组nums, 从0到k - 1逐 ...
- EditPlus+MinGW搭建简易的C/C++开发环境
EditPlus+MinGW搭建简易的C/C++开发环境 有时候想用C编点小程序,但是每次都要启动那难用又难看的VC实在是不情愿,而且老是会生成很多没用的中间文件,很讨厌,后来看到网上有很多人用Edi ...
- poj2104
裸的主席树,没什么好说的 type node=record l,r,s:longint; end; ..] of node; sa,rank,a,b,sum,head: ...