jQuery中的事件(七)
1. ready(fn), 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数
这个方法纯粹是对向window.load事件注册事件的替代方法。通过使用这个方法,可以在DOM载入就绪能够读取并操纵时立即调用你所绑定的函数,而99.99%的JavaScript函数都需要在那一刻执行。
在DOM加载完成时运行的代码,可以这样写
$(document).ready(function(){
// 在这里写你的代码...
});
使用 $(document).ready() 的简写,同时内部的 jQuery 代码依然使用 $ 作为别名,而不管全局的 $ 为何。
$(function($) {
// 你可以在这里继续使用$作为别名...
});
2. submit([[data],fn]), 当提交表单时,会发生 submit 事件
该事件只适用于表单元素。
参数说明:
- fn:在每一个匹配元素的submit事件中绑定的处理函数
- [data],fn
- data:submit([Data], fn) 可传入data供函数fn处理
- fn:在每一个匹配元素的submit事件中绑定的处理函数
$("form:first").submit(); //阻止表单提交
$("form").submit( function () {
return false;
} );
3. select([[data],fn]), 当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件
这个函数会调用执行绑定到select事件的所有函数,包括浏览器的默认行为。可以通过在某个绑定的函数中返回false来防止触发浏览器的默认行为。
参数说明:
- fn:在每一个匹配元素的select事件中绑定的处理函数
- [data], fn
- data:select([Data], fn) 可传入data供函数fn处理
- fn:在每一个匹配元素的select事件中绑定的处理函数
//触发所有input元素的select事件
$("input").select();
//当文本框中文本被选中时执行的函数
$(":text").select( function () { /* ...do something... */ } );
4. scroll([[data],fn]), 当用户滚动指定的元素时,会发生 scroll 事件
scroll 事件适用于所有可滚动的元素和 window 对象(浏览器窗口)。
参数说明:
- fn:在每一个匹配元素的scroll事件中绑定的处理函数
- [data],fn
data:scroll([Data], fn) 可传入data供函数fn处理。
- fn:在每一个匹配元素的scroll事件中绑定的处理函数。
//当页面滚动条变化时,执行的函数
$(window).scroll( function() { /* ...do something... */ } ); //对元素滚动的次数进行计数
$("div").scroll(function() {
$("span").text(x+=1);
});
5. resize([[data],fn]), 当调整浏览器窗口的大小时,发生 resize 事件
参数说明:
- fn:在每一个匹配元素的resize事件中绑定的处理函数
- [data],fn
data:resize([Data], fn) 可传入data供函数fn处理。
- fn:在每一个匹配元素的resize事件中绑定的处理函数。
//让人每次改变页面窗口的大小时很郁闷的方法
$(window).resize(function(){
alert("Stop it!");
}); //对浏览器窗口调整大小进行计数
$(window).resize(function() {
$('span').text(x+=1);
});
6. mouseup([[data],fn]), 当在元素上放松鼠标按钮时,会发生 mouseup 事件
与 click 事件不同,mouseup 事件仅需要放松按钮。当鼠标指针位于元素上方时,放松鼠标按钮就会触发该事件。
参数说明:
- fn:在每一个匹配元素的mouseup事件中绑定的处理函数
- [data],fn
data:mouseup([Data], fn) 可传入data供函数fn处理。
- fn:在每一个匹配元素的mouseup事件中绑定的处理函数。
//当松开鼠标按钮时,隐藏或显示元素
$("button").mouseup(function(){
$("p").slideToggle();
});
类似的还有:
- mouseout([[data],fn]):当鼠标指针从元素上移开时,发生 mouseout 事件
- mousemove([[data],fn]):当鼠标指针在指定的元素中移动时,就会发生 mousemove 事件
- mouseover([[data],fn]):当鼠标指针位于元素上方时,会发生 mouseover 事件
- mouseleave([[data],fn]):当鼠标指针离开元素时,会发生 mouseleave 事件。该事件大多数时候会与mouseenter 事件一起使用。与 mouseout 事件不同,只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。如果鼠标指针离开任何子元素,同样会触发 mouseout 事件。
- mouseenter([[data],fn]):当鼠标指针穿过元素时,会发生 mouseenter 事件。该事件大多数时候会与mouseleave 事件一起使用。与 mouseover 事件不同,只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。如果鼠标指针穿过任何子元素,同样会触发 mouseover 事件。
- mousedown([[data],fn]):当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件。mousedown 与 click 事件不同,mousedown 事件仅需要按键被按下,而不需要松开即可发生。
7. keyup([[data],fn]), 当按钮被松开时,发生 keyup 事件。它发生在当前获得焦点的元素上
注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。
参数说明:
- fn:在每一个匹配元素的keyup事件中绑定的处理函数
- [data],fn
- data:keyup([Data], fn) 可传入data供函数fn处理。
- fn:在每一个匹配元素的keyup事件中绑定的处理函数。
//当按下按键时,改变文本域的颜色
$("input").keyup(function(){
$("input").css("background-color","#D6D6FF");
});
类似的还有:
- keypress([[data],fn]):当键盘或按钮被按下时,发生 keypress 事件。keypress 事件与 keydown 事件类似。当按钮被按下时,会发生该事件。它发生在当前获得焦点的元素上。 不过,与 keydown 事件不同,每插入一个字符,就会发生 keypress 事件。注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。
- keydown([[data],fn]):当键盘或按钮被按下时,发生 keydown 事件。如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。
8. focusout([data],fn), 当元素失去焦点时触发 focusout 事件
focusout事件跟blur事件区别在于,他可以在父元素上检测子元素失去焦点的情况。
类似的还有:
- focusin([data],fn):当元素获得焦点时,触发 focusin 事件。focusin事件跟focus事件区别在于,他可以在父元素上检测子元素获取焦点的情况。
- focus([[data],fn]):当元素获得焦点时,触发 focus 事件。可以通过鼠标点击或者键盘上的TAB导航触发。这将触发所有绑定的focus函数,注意,某些对象不支持focus方法。
- focus([[data],fn]):当元素获得焦点时,触发 focus 事件。可以通过鼠标点击或者键盘上的TAB导航触发。这将触发所有绑定的focus函数,注意,某些对象不支持focus方法
9. dblclick([[data],fn]), 当双击元素时,会发生 dblclick 事件
当鼠标指针停留在元素上方,然后按下并松开鼠标左键时,就会发生一次 click。在很短的时间内发生两次 click,即是一次 double click 事件。提示:如果把 dblclick 和 click 事件应用于同一元素,可能会产生问题。
$("p").dblclick( function () { alert("Hello World!"); });
10. click([data],fn]), 触发每一个匹配元素的click事件
参数说明:
- data:click([Data], fn) 可传入data供函数fn处理。
- fn:在每一个匹配元素的click事件中绑定的处理函数。
$("p").click();
11. change([data],fn]), 当元素的值发生改变时,会发生 change 事件
该事件仅适用于文本域(text field),以及 textarea 和 select 元素。当用于 select 元素时,change 事件会在选择某个选项时发生。当用于 text field 或 text area 时,该事件会在元素失去焦点时发生。
参数说明:
- data:change([Data], fn) 可传入data供函数fn处理。
- fn:在每一个匹配元素的change事件中绑定的处理函数。
$(selector).change(); $("input[type='text']").change( function() {
// 这里可以写些验证代码
});
12. blur([data],fn]), 当元素失去焦点时触发 blur 事件
这个函数会调用执行绑定到blur事件的所有函数,包括浏览器的默认行为。可以通过返回false来防止触发浏览器的默认行为。blur事件会在元素失去焦点的时候触发,既可以是鼠标行为,也可以是按tab键离开的。
参数说明:
- data:blur([Data], fn) 可传入data供函数fn处理。
- fn:在每一个匹配元素的blur事件中绑定的处理函数。
$("p").blur(); $("p").blur( function () { alert("Hello World!"); } );
13. toggle([speed],[easing],[fn]), 用于绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件
如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。
1.9版本 .toggle(function, function, … ) 方法删除,jQuery Migrate(迁移)插件可以恢复此功能。
参数说明:
- [speed] [,fn]
- speed: 隐藏/显示 效果的速度。默认是 "0"毫秒。可能的值:slow,normal,fast。"
- fn:在动画完成时执行的函数,每个元素执行一次。
speed: 隐藏/显示 效果的速度。默认是 "0"毫秒。可能的值:slow,normal,fast。"
easing:(Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
fn:在动画完成时执行的函数,每个元素执行一次。
- switch
- 用于确定显示/隐藏的开关。如:true - 显示元素,false - 隐藏元素
$('td).toggle(); $("p").toggle("slow"); $("p").toggle("fast",function(){
alert("Animation Done.");
}); $('#foo').toggle(showOrHide); //相当于
if (showOrHide) {
$('#foo').show();
} else {
$('#foo').hide();
}
14. hover([over,]out), 模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法
鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。而且,会伴随着对鼠标是否仍然处在特定元素中的检测(例如,处在div中的图像),如果是,则会继续保持“悬停”状态,而不触发移出事件
参数说明:
- over,out
- over:鼠标移到元素上要触发的函数
- out:鼠标移出元素要触发的函数
$("td").hover(
function () {
$(this).addClass("hover");
},
function () {
$(this).removeClass("hover");
}
);
15. triggerHandler(type, [data]), 触发指定的事件类型上所有绑定的处理函数
这个方法的行为表现与trigger类似,但有以下三个主要区别:
- 不会触发浏览器默认事件, 也不会产生事件冒泡
- 只触发jQuery对象集合中第一个元素的事件处理函数
- 返回的是事件处理函数的返回值,而不是据有可链性的jQuery对象。此外,如果最开始的jQuery对象集合为空,则这个方法返回 undefined 。
参数说明:
- type,[data] String,Array
- type:要触发的事件类型
- data:传递给事件处理函数的附加参数
//如果你对一个focus事件执行了 .triggerHandler() ,浏览器默认动作将不会被触发,只会触发你绑定的动作。
//html代码
<button id="old">.trigger("focus")</button>
<button id="new">.triggerHandler("focus")</button><br/><br/>
<input type="text" value="To Be Focused"/> //jquery代码
$("#old").click(function(){
$("input").trigger("focus");
});
$("#new").click(function(){
$("input").triggerHandler("focus");
});
$("input").focus(function(){
$("<span>Focused!</span>").appendTo("body").fadeOut(1000);
});
16. trigger(type,[data]), 在每一个匹配的元素上触发某类事件
这个函数也会导致浏览器同名的默认行为的执行。比如,如果用trigger()触发一个'submit',则同样会导致浏览器提交表单。如果要阻止这种默认行为,应返回false。
参数说明:
- type,[data] String|Event,Array
type:一个事件对象或者要触发的事件类型;Event 是事件发生时运行的函数
data:传递给事件处理函数的附加参数
//提交第一个表单,但不用submit()
$("form:first").trigger("submit") //给一个事件传递参数
$("p").click( function (event, a, b) {
// 一个普通的点击事件时,a和b是undefined类型
// 如果用下面的语句触发,那么a指向"foo",而b指向"bar"
} ).trigger("click", ["foo", "bar"]); //下面的代码可以显示一个"Hello World"
$("p").bind("myEvent", function (event, message1, message2) {
alert(message1 + ' ' + message2);
});
$("p").trigger("myEvent", ["Hello","World!"]);
17. one(type,[data],fn), 为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数
在每个对象上,这个事件处理函数只会被执行一次。
这个事件处理函数会接收到一个事件对象,可以通过它来阻止(浏览器)默认的行为。如果既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false。
参数说明:
- type,[data],fn String,Object,Function
- type:添加到元素的一个或多个事件。由空格分隔多个事件。必须是有效的事件。
- data:将要传递给事件处理函数的数据映射
- fn:每当事件触发时执行的函数。
//当所有段落被第一次点击的时候,显示所有其文本。
$("p").one("click", function(){
alert( $(this).text() );
});
18. off(events,[selector],[fn]), 选择元素上移除一个或多个事件的事件处理函数 v1.7
off() 方法移除用.on()绑定的事件处理程序。
当有多个过滤参数,所提供的参数都必须匹配的事件处理程序被删除。
$("p").off() $("p").off( "click", "**" )
jQuery中的事件(七)的更多相关文章
- JQuery制作网页—— 第七章 jQuery中的事件与动画
1. jQuery中的事件: ●和WinForm一样,在网页中的交互也是需要事件来实现的,例如tab切换效果,可以通过鼠标单击事件来实现 ●jQuery事件是对JavaScript事件的封装,常用事件 ...
- jQuery中的事件与动画 (你的明天Via Via)
众所周知,页面在加载时,会触发load事件:当用户单击某个按钮时,会触发该按钮的click事件. 这些事件就像日常生活中,人们按下开关,灯就亮了(或者灭了),往游戏机里投入游戏币就可以启动游戏一样, ...
- jQuery中的事件绑定方法
在jQuery中,事件绑定方法大致有四种:bind(),live(), delegate(),和on(). 那么在工作中应该如何选择呢?首先要了解四种方法的区别和各自的特点. 在了解这些之前,首先要知 ...
- jQuery:详解jQuery中的事件(二)
上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件.事件冒泡和事件移除等内容. 接上篇jQuery:详解jQuery中的事件(一) ...
- jQuery:详解jQuery中的事件(一)
之前用过一些jQuery的动画和特效,但是用到的部分也不超过10%的样子,感觉好浪费啊——当然浪费的不是jQuery,而是Web资源.后来就想深入研究下jQuery的内部机理,读过两遍jQuery源代 ...
- jQuery学习笔记(三)jQuery中的事件
目录 加载DOM 事件绑定 合成事件 事件冒泡 移除事件 一.加载DOM Javascript 与HTML之间的交互是通过用户操作浏览器页面引发的事件来处理的.jQuery提供了丰富的事件处理机制.从 ...
- Javascript事件模型系列(三)jQuery中的事件监听方式及异同点
作为全球最知名的js框架之一,jQuery的火热程度堪称无与伦比,简单易学的API再加丰富的插件,几乎是每个前端程序员的必修课.从读<锋利的jQuery>开始,到现在使用jQuery有一年 ...
- Jquery中的事件和动画
在学习Jquery中的过程中我们绝大部分都用到了事件的操作,也可以说事件是Jquery中必不可少的一部分,我们常见的一些事件有单击事件,鼠标事件,键盘事件等等.在Jquery中的学习中为了能使让页面以 ...
- jQuery中的事件机制深入浅出
昨天呢,我们大家一起分享了jQuery中的样式选择器,那么今天我们就来看一下jQuery中的事件机制,其实,jQuery中的事件机制与JavaScript中的事件机制区别是不大的,只是,JavaScr ...
- jQuery中的事件和动画——《锋利的jQuery》(第2版)读书笔记2
第4章 jQuery中的事件和动画 jQuery中的事件 加载DOM $(document).ready(function(){ // 编写代码... }); 可以简写成: $(function( ...
随机推荐
- All 432 functions were compiled because no usable IPDB/IOBJ from previous compilation was found
解决方法: 将: 链接器——>优化——>链接时间代码生成——>使用快速链接时间代码生成(/LTCG:incremental). 改为: 链接器——>优化——>链接时间代码 ...
- java给图片写正反字体,并将二维码写到图片上,代码实现
/** * @param filePath * 源图片路径 * @param markContent * 图片中添加内容 * @param outPath * 输出图片路径 字体颜色等在函数内部实现的 ...
- NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver ...
显卡驱动找不到解决方案:亲测有效 step1:sudo apt-get install dkms step2: sudo dkms install -m nvidia -v 390.129 nvi ...
- 浅谈C++ STL list 容器
浅谈C++ STL list 容器 本篇随笔简单讲解一下\(C++STL\)中\(list\)容器的使用方法和使用技巧. list容器的概念 学习过\(C++STL\)的很多同学都知道,\(STL\) ...
- # Spring 练习ioc 、aop
Spring 练习 通过学习spring的基础知识,了解了Spring为了降低Java开发的复杂性,采取了以下4种关键策略: 基于POJO的轻量级和最小侵入性编程: 通过依赖注入和面向接口实现松耦合: ...
- 解决 layui 弹出层(弹框)一闪而过就消失的问题 (转载)
转载: 原文链接:https://blog.csdn.net/qq_20594019/article/details/83956532 本人遇到问题:使用layer.open()弹出页面层,出现弹框闪 ...
- js获取计算机操作系统版本
如题,想要获取当先计算机的操作系统和版本号的话,可以用如下方法. 首先,创建osversion.js文件,文件里面的代码如下 var osData = [ { name: 'Windows 2000' ...
- .deb文件安装应该怎么做
https://unix.stackexchange.com/questions/159094/how-to-install-a-deb-file-by-dpkg-i-or-by-apt
- StreamWriter StreamReader
private void WriteLoginJsonData(object jsonData) { using (FileStream writerFileStream = new FileStre ...
- 13. 罗马数字转整数(C#)
看到这道题,存在键值对,所以先建个泛型字典,把键值填进去. 由于这道题存在两个字符表示一个数字的情况,所以在for循环的时候判断一下,看看当前字符串中循环到的字符是否和下一个字符能够组成存在在字典里的 ...