jQuery 的基础事件

在 JavaScript 的学习中,有很多使用的事件,常用的事件有:click、dblclick、 mousedown、mouseup、mousemove、mouseover、mouseout、change、select、submit、keydown、 keypress、keyup、blur、focus、load、resize、scroll、error。

1.事件的绑定

jQuery 通过.bind()方法来为元素绑定这些事件。可以传递三个参数:bind(type,[data],fn), type 表示一个或多个类型的事件名字符串;[data]是可选的,作为 event.data 属性值传递一个 额外的数据,这个数据是一个字符串、一个数字、一个数组或一个对象;fn 表示绑定到指 定元素的处理函数。

//使用点击事件
$(‘input‘).bind(‘click‘,function(){ //点击按钮后执行匿名函数
alert(‘点击!‘);
});

//普通处理函数
$(‘input‘).bind(‘click‘,fn); //执行普通函数式无须圆括号
function fn(){
alert(‘点击!‘);
}

//可以同时绑定多个事件
$(‘input‘).bind(‘mouseout mouseover‘, function(){ //移入和移出分别执行一次
$(‘div‘).html(function(index,value){
returnvalue+‘1‘;
});
});

//通过对象键值对绑定多个参数
$(‘input‘).bind({ //传递一个对象

‘mouseout‘:function(){ //事件名的引号可以省略
alert(‘移出‘);
},

‘mouseover‘:function(){
alert(‘移入‘);
}
});

//使用 unbind 删除绑定的事件
$(‘input‘).unbind(); //删除所有当前元素的事件

//使用 unbind 参数删除指定类型事件
$(‘input‘).unbind(‘click‘); //删除当前元素的 click 事件

//使用 unbind 参数删除指定处理函数的事件
function fn1(){
alert(‘点击 1‘);
}
function fn2(){
alert(‘点击 2‘);
}

$(‘input‘).bind(‘click‘,fn1);
$(‘input‘).bind(‘click‘,fn2);
$(‘input‘).unbind(‘click‘,fn1); //只删除 fn1 处理函数的事件

2.复合事件

方法                                                描述

ready(fn)                           当DOM加载完毕触发事件

hover([fn1],fn2)                 当鼠标移入触发第一个fn1,移出触发fn2

toggle(fn1,fn2[fn3..])          已废弃,当鼠标点击触发fn1,在点击触发fn2...

//背景移入移出切换效果
$(‘div‘).hover(function(){
$(this).css(‘background‘,‘black‘); //mouseenter 效果
},function(){
$(this).css(‘background‘,‘red‘); //mouseleave 效果,可省略
});

注意:.hover()方法是结合了.mouseenter()方法和.mouseleva()方法,并非.mouseover() 和.mouseout()方法。

.toggle()这个方法比较特殊,这个方法有两层含义,第一层含义就是已经被 1.8 版废用、 1.9 版删除掉的用法,也就是点击切换复合事件的用法。第二层函数将会在动画那里讲解到。

既然废弃掉了,就不应该使用。被删除的原因是:以减少混乱和提高潜在的模块化程度。 但你又非常想用这个方法,并且不想自己编写类似的功能,可以下载 jquery-migrate.js 文件,来向下兼容已被删除掉的方法。

//背景点击切换效果(1.9 版删除掉了)
<scripttype="text/javascript"src="jquery-migrate-1.2.1.js"></script>
$(‘div‘).toggle(function(){ //第一次点击切换
$(this).css(‘background‘,‘black‘);
},function(){ //第二次点击切换
$(this).css(‘background‘,‘blue‘);
},function(){ //第三次点击切换
$(this).css(‘background‘,‘red‘);
});

注意:由于官方已经删除掉这个方法,所以也是不推荐使用的,如果在不基于向下兼容 的插件 JS。我们可以自己实现这个功能。

var flag=1; //计数器
$(‘div‘).click(function(){
if(flag==1){ //第一次点击
$(this).css(‘background‘,‘black‘);
flag=2;
}elseif(flag==2){ //第二次点击
$(this).css(‘background‘,‘blue‘);
flag=3
}elseif(flag==3){ //第三次点击
$(this).css(‘background‘,‘red‘);
flag=1
}
});

时间: 2024-08-24 22:57:28

jQuery 的基础事件的相关文章

jQuery基础——事件篇

jQuery基础--事件篇 鼠标事件 click与dbclick事件 click方法监听用户单击操作,dbclick监听用户双击操作,这两个方法类似. dbclick与click事件不同的是: click事件触发需要以下几点: click事件其实是由mousedown与mouseup 2个动作构成,所以点击的动作只有在松手后才触发 dblclick事件触发需要以下几点: dblclick又是由2个click叠加而来的,所以dblclick事件只有在满足以下条件的情况下才能被触发 鼠标指针在元素里

基础事件(一)

JavaScript有一个非常重要的功能,就是事件驱动.当页面完全加载后,用户通过鼠标或键盘触发页面中绑定事件的元素即可触发.jQuery为开发者更有效率的编写事件行为, 封装了大量有益的事件方法供我们使用. 绑定事件 在JavaScript课程的学习中,我们掌握了很多使用的事件,常用的事件有:click.dblclick.mousedown.mouseup.mousemove.mouseover.mouseout.change. select.submit.keydown.keypress.k

HTML5 audio元素如何使用js与jquery控制其事件

前言: 每一次遇见问题想到的就是怎么解决?最好的方法还是查询网络媒体,更好的办法是让自己记忆,只有自己理解到了才真正是属于自己.要做一个订单提醒功能,没有使用audio相关的插件,虽然插件无数,还是喜欢自己瞎折腾.(来一些隐形的链接,据说有推广效果,本文原创官网地址:www.pushself.com) 听一个写博客的朋友说周末的博客阅读量明显下降,周末大好时光不出去泡妹子的肯定是有难言之隐的.先来重温一下audio标签的基本属性 定义和用法 <audio> 标签定义声音,比如音乐或其他音频流.

阮一峰:jQuery官方基础教程笔记

jQuery是目前使用最广泛的javascript函数库. 据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库.微软公司甚至把jQuery作为他们的官方库. 对于网页开发者来说,学会jQuery是必要的.因为它让你了解业界最通用的技术,为将来学习更高级的库打下基础,并且确实可以很轻松地做出许多复杂的效果. 虽然jQuery上手简单,比其他库容易学会,但是要全面掌握,却不轻松.因为它涉及到网页开发的方方面面,提供的各种方法和内部变化有上千种之多.初学者常常感到,入门很方便

jQuery官方基础教程笔记(转载)

本文转载于阮一峰的博文,内容基础,结构清晰,是jquery入门不可多得的资料,非常好,赞一个. 阮一峰:jQuery官方基础教程笔记 jQuery是目前使用最广泛的javascript函数库. 据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库.微软公司甚至把jQuery作为他们的官方库. 对于网页开发者来说,学会jQuery是必要的.因为它让你了解业界最通用的技术,为将来学习更高级的库打下基础,并且确实可以很轻松地做出许多复杂的效果. 虽然jQuery上手简单,比其他

JQuery选择器和事件的学习小记

一.前言与基础 JQuery是JavaScript的一个拓展库,能够比原生JavaScript代码更简便地进行HTML页面的DOM操作.要想使用JQuery,必须要在HTML页面引入JQuery的源代码文件. JQuery的源代码文件有两种: compressed&production,编译过并且进行压缩的JQuery文件,用于实际网站开发,编译和压缩能够加快代码加载.文件名一般为jquery-1.10.2.min.js,1.10.2是版本号. uncompressed&developme

jQuery中的事件和动画效果

刚刚学习了jqyery的一些事件和动画,下面我来总结一下: 1.基础事件 1.window事件,它的对应方法是ready(),$(document).ready()方法是事件模块中最重要的一个函数,可以极大的提高web应用程序的响应速度.(不做过多的讲解) 2.鼠标事件 鼠标事件就是用户在文档上移动或者点击时引发的操作. 1.click(); 2.mouseout(); 3.mouseout(); $(function () { $('li').on('mouseenter',function

jquery学习基础(二)

今天继续学习jquery的基础.直接看栗子吧. jquery操作checkbox demoOne 这里我点击超链接的时候,使用alert将所有已经checked的checkbox的value值打印出来,先看下效果: 关键的html和jquery代码: <div> <a href="#">获得被选中的元素</a> <input type="checkbox" checked value="111">c

javascript基础-事件1

原理 事件分两种.第一种浏览器事件,由浏览器抛出事件,它是人机交互的基础:第二种自定义事件,由程序员抛出事件,它是模拟事件流程.两者都是为了完成数据的传递. 浏览器事件 机制 冒泡和捕获两种机制.因IE8-前只支持冒泡,所以实际运用中,只允许事件冒泡. 处理方式 IE8- 与 IE9+.标准浏览器事件对象的区别 浏览器事件类型与处理单独放一节 自定义事件 通常用在  DOM渲染绑定自定义事件如'changeattr' --> 数据源(json对象属性)变更,抛出'changeattr'事件---