jquery事件之事件
|
事件名 |
说明 |
语法 (events 事件类型,data数据,handler 事件处理函数,selector 选择器) |
|
blur() |
获得失去鼠标光标焦点事件 |
jQueryObject.blur( [ [ data ,] handler ] ) |
|
change() |
在文本内容或选项被更改时触发。该事件仅适用于<input type="text">和<textarea>以及<select> |
jQueryObject.change( [ [ data ,] handler ] ) |
|
click() |
事件就是鼠标按钮单击事件 |
jQueryObject.click( [ [ data ,] handler ] ) |
|
dblclick() |
鼠标左键双击事件。 |
jQueryObject.dblclick( [ [ data ,] handler ] ) |
|
error() |
在js发生错误或资源加载失败时触发。该事件主要用于window对象、<img>等元素。 |
jQueryObject.error( [ data ,] handler ) |
|
focus() |
获得鼠标光标焦点事件,(与blur()相反) |
jQueryObject.focus( [ [ data ,] handler ] ) |
|
focusin() |
获得焦点事件。与focus事件不同的是:focusin可以检测该元素的后代元素获得焦点的情况 |
jQueryObject.focusin( [ [ data ,] handler ] ) |
|
focusout() |
失去焦点事件。与blur事件不同的是:focusout可以检测该元素的后代元素获得焦点的情况 |
jQueryObject.focusout( [ [ data ,] handler ] ) |
|
keydown() |
会在按下键盘按键时触发。它与keypress事件类似,但keypress着重的是按下该键输入了哪个字符,按下任何键都可触发keydown)。 |
jQueryObject.keydown( [[ data ,] handler ] ) |
| keypress() | 按下键盘按键时触发。它与keydown事件类似,但keypress着重的是按下该键输入了哪个字符 | jQueryObject.keypress( [[ data ,] handler ] ) |
| keyup() | 按下键盘按键并释放时触发 | jQueryObject.keyup( [[ data ,] handler ] ) |
| mousedown() | 在鼠标按钮被按下时触发。(无需释放) |
jQueryObject.mousedown( [[ data ,] handler ] ) |
| mouseup() | 在鼠标按钮被释放时触发。 |
jQueryObject.mouseup( [ [ data ,] handler ] ) |
| mouseenter() | 在鼠标进入某个元素时触发。只会在鼠标进入当前元素时触发 |
jQueryObject.mouseenter( [[ data ,] handler ] ) |
| mouseleave() | 在鼠标离开某个元素时触发,只会在鼠标离开当前元素时触发 | jQueryObject.mouseleave( [[ data ,] handler ] ) |
| mouseover() | 在鼠标进入某个元素时触发,鼠标进入当前元素及其任何后代元素时触发 | jQueryObject.mouseover( [[ data ,] handler ] ) |
| mouseout() | 鼠标离开某个元素时触发,鼠标离开当前元素及其任何后代元素时触发 | jQueryObject.mouseout( [[ data ,] handler ] ) |
| load() | 在资源加载完成时触发。从1.8开始被标记为已过时 | jQueryObject.load( [[ data ,] handler ] ) |
| resize() | 会在元素的尺寸大小被调整时触发。该事件常用于window对象(浏览器窗口)或框架页面。 |
jQueryObject.resize( [ [ data ,] handler ] ) |
| scroll() | 在元素的滚动条位置发生改变时触发。该事件一般仅适用于window对象或其他可滚动元素(一般会出现滚动条)。 |
jQueryObject.scroll( [ [ data ,] handler ] ) |
| select() | 在文本框中的文本内容被选中时触发。该事件仅适用于<input type="text">和<textarea>文本框 |
jQueryObject.select( [ [ data ,] handler ] ) |
| submit() | 事件会在表单被提交时触发。该事件仅适用于<form>元素。 |
jQueryObject.submit( [ [ data ,] handler ] ) |
1.blur()事件就是获得失去鼠标光标焦点事件。
$("#txt1").blur(function(){
$(this).css("border"," 1px solid red");
});
判断文本框验证:
var data={"name":"eric","sex":"man"};
$("#t1").blur(data,function(event){
var map=event.data;
var tips="";
if(!$(this).val()){
$(this).next(".tips").html("").append("<b style='color:red;'>请输入"+map.name+"</b>");
return false;
}
if($(this).val!="eric"){
$(this).next(".tips").html("").append("<b style='color:red;'>输入有误,名字不是"+map.name+"</b >");
return false;
}
});
2.change()函数用于为每个匹配元素的change事件绑定处理函数。change事件会在文本内容或选项被更改时触发。该事件仅适用于<input type="text">和<textarea>以及<select>。对于text和textarea元素,该事件会在元素失去焦点时发生(文本内容也发生了更改)。
文本框值发生变化就记录时间并判断输入的值是否已经存在:
var data={"name":"eric","sex":"man"};
function changeHandle(event){
var map=event.data;
$("#log").append(new Date().toLocaleString()+","+map.name+" 发生了改变<br>");
if($("#txt1").val()==map.name){
$("#log").append(new Date().toLocaleString()+","+map.name+" 已经存在 <br>");
}
}
$("#txt1").change(data,changeHandle);
3.click事件就是鼠标按钮单击事件。
4.dblclick事件就是鼠标左键双击事件。
var data={"name":"eric","sex":"man"};
$("#btn").dblclick(data,function(event){
alert(event.data.name);
});
5.error()函数用于为每个匹配元素的error事件绑定处理函数。会在js发生错误或资源加载失败时触发。该事件主要用于window对象、<img>等元素。删除通过error()绑定的事件,使用unbind()函数。
$("img").error( function(){
alert( "图片加载失败!" );
} );
// 图片加载失败时,重新加载新的图片URL
var newImageURL = "http://www.365mini.com/static/image/backTop.png";
$("img").error( newImageURL, function(event){
this.src = event.data;
} );
6.focus事件就是获得鼠标光标焦点事件,要删除通过focus()绑定的事件,请使用unbind()函数。(与blur()相反)
$("#t2").focus(function(event){
$(this).css("border","1px solid red");
});
// 为所有text元素的focus事件绑定处理函数
var inputMap = { "name": "姓名", "age": "年龄" };
$(":text").focus( inputMap, function(event){
var map = event.data;
$(this).next(".tips").html( '请输入[' + map[this.name] + ']' );
} );
7.focusin事件就是获得焦点事件。与focus事件不同的是:focusin可以检测该元素的后代元素获得焦点的情况(换句话说,focusin事件支持冒泡)。
8.focusout事件就是失去焦点事件。与blur事件不同的是:focusout可以检测该元素的后代元素获得焦点的情况(换句话说,focusout事件支持冒泡,blur不支持)。
9.keydown事件会在按下键盘按键时触发。它与keypress事件类似,但keypress着重的是按下该键输入了哪个字符(只有能够打印字符的键才会触发keypress),keydown着重的是按下了哪个键(按下任何键都可触发keydown)。删除通过keydown()绑定的事件,使用unbind()函数。
$("#t2").keydown(function(event){
$(this).css("border","1px solid red");
});
// 只允许按下的字母键生效 (使用某些输入法可能会绕过该限制)
var validKeys = { start: 65, end: 90 };
$("#keys").keydown( validKeys, function(event){
var keys = event.data;
return event.which >= keys.start && event.which <= keys.end;
} );
10.keypress事件会在按下键盘按键时触发。它与keydown事件类似,但keypress着重的是按下该键输入了哪个字符(只有能够打印字符的键才会触发keypress),keydown着重的是按下了哪个键(按下任何键都可触发keydown)。
11.keyup事件会在按下键盘按键并释放时触发。例如:你一直按住A键,直到10秒钟后才释放,只会在释放按键的时候触发一次keyup事件。但在这个过程中会触发许多次keydown事件(或keypress事件)。因此,keyup事件无法阻止字符的输入。
$("#t2").keyup(function(event){
$(this).css("border","1px solid red");
});
12.mousedown事件会在鼠标按钮被按下时触发。mouseup事件会在按下鼠标按钮并释放时触发。注意:如果一直按住鼠标按钮不放,也只会触发一次mousedown事件。
$("#t2").mousedown(function(event){
$(this).css("border","1px solid red");
});
13.mouseup事件会在鼠标按钮被释放时触发。mousedown事件会在鼠标按钮被按下(无需释放)时触发。
$("#t2").mouseup(function(event){
$(this).css("border","1px solid red");
});
14.mouseenter事件会在鼠标进入某个元素时触发。它与mouseover事件相似,但mouseenter事件只会在鼠标进入当前元素时触发,而mouseover事件会在鼠标进入当前元素及其任何后代元素时触发(换句话说,mouseover事件支持冒泡)。
$("#t2").mouseenter(function(event){
$(this).css("border","1px solid red");
});
15.mouseleave事件会在鼠标离开某个元素时触发。它与mouseout事件相似,但mouseleave事件只会在鼠标离开当前元素时触发,而mouseout事件会在鼠标离开当前元素及其任何后代元素时触发(换句话说,mouseout事件支持冒泡)。
$("#t2").mouseleave(function(event){
$(this).css("border","1px solid red");
});
16.mouseover事件会在鼠标进入某个元素时触发。它与mouseenter事件相似,但mouseenter事件只会在鼠标进入当前元素时触发,而mouseover事件会在鼠标进入当前元素及其任何后代元素时触发(换句话说,mouseover事件支持冒泡)。
17.mouseout事件会在鼠标离开某个元素时触发。它与mouseleave事件相似,但mouseleave事件只会在鼠标离开当前元素时触发,而mouseout事件会在鼠标离开当前元素及其任何后代元素时触发(换句话说,mouseout事件支持冒泡)。
18.load事件会在资源加载完成时触发。该事件主要用于window对象、document对象、<body>、<script>、<link>、<img>、<iframe>、<frameset>、<frame>等元素。jQuery 1.0 新增该函数,但从1.8开始被标记为已过时。
19.unload事件会在页面退出时触发。该事件主要用于window对象、<body>、<frameset>元素。从1.8开始被标记为已过时。
20.resize事件会在元素的尺寸大小被调整时触发。该事件常用于window对象(浏览器窗口)或框架页面。
var minSize = { width: 800, height: 600 };
$(window).resize( minSize, function(event){
var min = event.data;
var $dom = $(this);
if( $dom.width() < min.width ){
$("body").append("<br>窗口宽度不要小于" + min.width );
}else if( $dom.height() < min.height ){
$("body").append("<br>窗口高度不要小于" + min.height);
}
} );
21.scroll事件会在元素的滚动条位置发生改变时触发。该事件一般仅适用于window对象或其他可滚动元素(一般会出现滚动条)。
// 向下滚动到据顶部超过1000px时,回到顶部:
var maxScrollTop = 1000;
$(window).scroll( maxScrollTop, function(event){
var $me = $(this);
if( $me.scrollTop() > event.data ){
$me.scrollTop( 0 );
}
} );
22.select事件会在文本框中的文本内容被选中时触发。该事件仅适用于<input type="text">和<textarea>文本框。
// 为所有text元素的select事件绑定处理函数
var user = { name: 'CodePlayer', age: 18 };
$(":text").select( user, function(event){
$("#msg").html( event.data.name + ",你选择了[" + this.name + "]中的一些文本内容!" ).show().fadeOut( 2000 );
} );
23.submit事件会在表单被提交时触发。该事件仅适用于<form>元素。
// 触发form元素的submit事件
// $("form").submit( );
还可以为事件处理函数传递一些附加的数据:
var map = { name: "姓名", age: "年龄" };
$("form").submit( map, function(event){
var labelMap = event.data;
var label = '';
// 循环验证所有text元素是否为空
$(this).find(":text").each(function(){
if( !this.value ){
label = labelMap[this.name];
return false;
}
});
if( label ){
alert( label + "不能为空!" );
return false;
}
} );
html页面:
<body>
<form>
<div id="n1">
<p id="n2"><span>CodePlayer</span></p>
<p id="n3"><span>qinqin</span></p>
<em id="n4">http://www.365mini.com</em>
</div>
<p>id="n5">Google</p>
<input id="btn1" type="button" value="点击1" />
<input id="btn2" type="button" value="点击2" />
<a id="a1" href="#">CodePlayer</a>
<input id="btn" type="button" value="点击绑定一次" />
<div id="n2">
<p id="n6"><span>CodePlayer</span></p>
<p id="n7"><span>qinqin</span></p>
<input id="txt1" type="text"/>
</div>
<div id="log"><div>
<input id="t1" name="name" type="text" /><span class="tips"></span>
<br>
<input id="t2" name="age" type="text" /><span class="tips"></span>
<img src="http://www.365mini.com/static/image/invalid.png" alt="回到顶部" />
</form>
</body>
jquery事件之事件的更多相关文章
- jQuery中的事件绑定方法
在jQuery中,事件绑定方法大致有四种:bind(),live(), delegate(),和on(). 那么在工作中应该如何选择呢?首先要了解四种方法的区别和各自的特点. 在了解这些之前,首先要知 ...
- 从零开始学习jQuery (五) 事件与事件对象
本系列文章导航 从零开始学习jQuery (五) 事件与事件对象 一.摘要 事件是脚本编程的灵魂. 所以本章内容也是jQuery学习的重点. 本文将对jQuery中的事件处理以及事件对象进行详细的讲解 ...
- jQuery:详解jQuery中的事件(二)
上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件.事件冒泡和事件移除等内容. 接上篇jQuery:详解jQuery中的事件(一) ...
- jQuery:详解jQuery中的事件(一)
之前用过一些jQuery的动画和特效,但是用到的部分也不超过10%的样子,感觉好浪费啊——当然浪费的不是jQuery,而是Web资源.后来就想深入研究下jQuery的内部机理,读过两遍jQuery源代 ...
- jQuery入门(3)事件与事件对象
jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax()应 ...
- jQuery中的事件和动画效果
刚刚学习了jqyery的一些事件和动画,下面我来总结一下: 1.基础事件 1.window事件,它的对应方法是ready(),$(document).ready()方法是事件模块中最重要的一个函数,可 ...
- jquery on 绑定事件
jquery on 绑定事件 1. 多个选择器绑定一个事件 2. 多个事件绑定一个函数 3. 一个选择器绑定多个事件,有两种写法: 或者 on只绑定一次事件,绑定父元素,防止初始化时数据未加载,绑定出 ...
- jQuery学习笔记(三)jQuery中的事件
目录 加载DOM 事件绑定 合成事件 事件冒泡 移除事件 一.加载DOM Javascript 与HTML之间的交互是通过用户操作浏览器页面引发的事件来处理的.jQuery提供了丰富的事件处理机制.从 ...
- jQuery原生框架-----------------事件
jQuery.extend({ // 绑定事件 addEvent: function( ele, type, fn ) { // ele不是DOM,type不是字符串,fn不是函数,打包打走 if( ...
- ajax的status为201依然触发jquery的error事件的问题
昨天在调试一个ajax的时候发现,即使status是201,仍然会触发jquery的error事件.statusText是"parseerror". 通过在stackoverflo ...
随机推荐
- HBase常用操作-HBaseUtil
package com.zhen.hbase; import java.io.IOException; import java.util.ArrayList; import java.util.Col ...
- LightOJ 1138 二分
1138 - Trailing Zeroes (III) PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: ...
- Linux下查看Python安装了哪些脚本模块
Linux下查看Python安装了哪些脚本模块 1.什么是rpm ? rpm 即RedHat Package Management,是RedHat的发明之一 .现在包括OpenLinux.fedora ...
- 英语发音规则---Y字母
英语发音规则---Y字母 一.总结 一句话总结: 1.Y字母在单词最前面读发[j]? yes /jes/ [jɛs] n. 是 yard /jɑːd/ [jɑd] n. 院子 yellow /'jel ...
- appium-环境搭建(三)
appium步骤:基本环境1.由于操作手机端操作,需要模拟器或者真机 itools模拟器,真机2.appium操作app,需要知道操作的app是什么?需要知道这个app包名 1.问开发 2.利用adt ...
- BEC listen and translation exercise 40
However, recently there's been more and more interest in the development of ostrich farming in other ...
- [原]NYOJ-开灯问题-77
大学生程序代写 //http://acm.nyist.net/JudgeOnline/problem.php?pid=77 /*题目77题目信息运行结果本题排行讨论区开灯问题 时间限制:3000 ms ...
- A唐纳德先生和假骰子(华师网络赛)
Time limit per test: 1.0 seconds Memory limit: 256 megabytes 在进行某些桌游,例如 UNO 或者麻将的时候,常常会需要随机决定从谁开始.骰子 ...
- bzoj 2553: [BeiJing2011]禁忌 AC自动机+矩阵乘法
题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=2553 题解: 利用AC自动机的dp求出所有的转移 然后将所有的转移储存到矩阵中,进行矩阵 ...
- 洛谷 2312 / bzoj 3751 解方程——取模
题目:https://www.luogu.org/problemnew/show/P2312 https://www.lydsy.com/JudgeOnline/problem.php?id=3751 ...