Jquery:Jquery中的事件<一>
由于今天有一个比较重要的面试,所以昨天晚上对以前做的一些项目做了一下总结,直接导致昨天的学习笔记断更了,哎,计划永远赶不上变化啊!今天学习了Jquery中是事件,就此做一个笔记,便于日后复习。
一、加载DOM时执行的事件
JavaScript中的window.onload方法和Jquery中的$(document).ready()方法的对比。
1、执行时机
window.onload方法是等网页中的所有元素(包括所有的关联元素)都加载完毕之后执行,而$(document).ready()方法是在DOM就绪之后就可以调用,不必等到所有关联文件加载完毕。举个例子,比如一个商品列表的页面,需要加载很多商品的图片,点击每个商品的图片可以链接到商品的详情页面。如果用JavaScript中的window.onload方法的话,必须得每个图片都加载好以后才可以执行其中的事件,如果用Jquery中的$(document).ready()方法的话,则可以等想要点击的图片加载完毕后就可以触发其中的事件。但是$(document).ready()方法也有其不适用的时候,比如方法中有一个事件是为所有图片设置宽和高,那么可能有些图片就无法获取设置了,所以Jquery中有新添加了一个方法,load()方法,此方法会在元素的onlond事件中绑定一个处理函数,如果这个处理函数绑定在window对象上,则其功能等同于JavaScript中的window.onload方法,如果绑定在一个元素上的话,则这个元素加载完毕之后执行处理函数。
2、多次使用
JavaScript中的window.onload方法一次只能保存对一个函数的引用,即如果先后给window.onload方法绑定两个函数,则系统只会执行第二个函数,第一个函数自动被第二个函数覆盖。而Jquery中的$(document).ready()方法会按绑定的先后顺序,一次执行每一个函数。
3、简写方式
$(document).ready(){}可以简写成$(function(){}),而$(document)可以简写为$(),当$不带参数时,默认参数就是“document”,因此,$(document).ready(){}还可以简写成$().ready(){}。
二、事件绑定
1、使用bing()可以给元素绑定事件,举个例子吧。
$(#name_1).bind("click",function(){
内部要执行的代码。
})
该示例是给id属性为name_1的元素绑定了一个click事件。
2、改变绑定事件的类型
给一个元素绑定mouseover事件和mouseout事件,实现的方法是:
$(#name_1).bind("mouseover",function(){
显示文本
}).bind("mouseout",function(){
隐藏文本
})
以上代码执行的效果是:当鼠标移到属性id为name_1的元素上时,显示文本,当鼠标移开时,隐藏文本。
三、合成事件
Jquery有两个合成事件:hover()方法和toggle()方法。
hover()方法是模拟光标悬停事件,它可以绑定两个事件,当鼠标移动到选中元素上时,执行第一个方法;当鼠标移开时执行第二个事件。
toggle()方法可以绑定多个事件,当鼠标单击绑定它的元素时,该元素会依次执行其中的事件。
四、事件冒泡
事件冒泡是指几个嵌套的元素里绑定了相同类型的事件,当触发里边元素的事件后,外边元素的事件也会依次被触发。例如在一个html页面中,<body>下添加了一个<div>元素,而在<div>元素中又嵌套了<span>元素。为<body>、<div>、<span>三个元素依次绑定事件,事件中分别执行输出3、2、1。单击<span>元素,页面会依次输出1、2、3。这就是时间冒泡。
解决时间冒泡的方法是:在function的参数中添加事件对象,例如事件对象名为event,在此时间中添加如下代码,即可停止事件冒泡:
event.stopPropagation();
网页中的有些元素有其默认的行为,阻止其默认行为的方法是:在function的参数中添加事件对象,例如event,执行以下代码:
event.preventDefault();
如果想同时阻止元素的默认行为和事件冒泡,可以在事件处理函数中返回false:
return false;
五、事件捕获
事件捕获的效果与事件冒泡恰恰相反,它是相同类型的时间从外到内的执行,遗憾的是,Jquery不支持事件捕获!
又到凌晨了,不学了,睡觉!!!
Jquery:Jquery中的事件<一>的更多相关文章
- jquery ajax 中各个事件执行顺序
jquery ajax 中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事 ...
- jquery ajax中各个事件执行顺序如下
$(function(){ setTimeout(function(){ $.ajax({ url:'/php/selectStudent.php', }); },0); $(document).aj ...
- Javascript中的事件二
<!------------------示例代码一---------------------><!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...
- 原生js实现jquery库中部分事件的功能(jquery库封装二)
继续昨天的封装,今天的部分继昨天选择器之后实现了css样式的获取和添加,attr的获取和添加和一部分事件的封装:只是我自己的理解,不妥之处欢迎大家在评论中提出,相互学习,共同提高 /** * Crea ...
- Jquery:Jquery中的事件<二>
这几天快忙死了,办了离职还得办入职,完全打乱了我的计划,但是能有一个理想的工作,还是很开心的,以后加把劲,争取把计划再赶上来!不说了,学习!!! 五.事件对象的属性 1.event.type:获取事件 ...
- 【锋利的jQuery】中全局事件ajaxStart、ajaxStop不执行
最近一直都在研究[锋利的jQuery],确实是一本好书,受益匪浅.但由于技术发展及版本更新等原因,里面还是有些坑需要踩的. 比如:第六章七节中提到的全局事件ajaxStart.ajaxStop照着案例 ...
- Python-JS中的事件详解
目录 fdf!! fefd 一.JS中的事件二.JS中的事件分类: 1.事件初级: 2.事件参数 Event 3.鼠标事件 4.键盘事件 *** 5.表单事件 *** 6.文档事件 * 7.图片事件 ...
- jQuery:详解jQuery中的事件(二)
上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件.事件冒泡和事件移除等内容. 接上篇jQuery:详解jQuery中的事件(一) ...
- 四、jquery中的事件与应用
当用户浏览页面时,浏览器会对页面代码进行解释或编译--这个过程实质上是通过时间来驱动的,即页面在加载时,执行一个Load事件,在这个事件中实现浏览器编译页面代码的过程.时间无论在页面元素本身还是在元素 ...
- jQuery学习笔记(三)jQuery中的事件
目录 加载DOM 事件绑定 合成事件 事件冒泡 移除事件 一.加载DOM Javascript 与HTML之间的交互是通过用户操作浏览器页面引发的事件来处理的.jQuery提供了丰富的事件处理机制.从 ...
随机推荐
- 随机获取oracle数据库中的任意一行数据(rownum)
最近看oracle资料的时候,了解rownum的概念,以前只知道对数据库表进行简单的增删改查: 看到了rownum的概念后,突然想到了好多业务场景应该都可以适用的,比如在进行随机发奖的时候, 我们就可 ...
- Mongodb基本操作之.net
1.下载官方for C#驱动 2.导入2个dll文件 3.连接字符串 <add key="MongoConn" value="mongodb://127.0.0.1 ...
- JDK6和JDK7中的substring()方法
substring(int beginIndex, int endIndex)在JDK6与JDK7中的实现方式不一样,理解他们的差异有助于更好的使用它们.为了简单起见,下面所说的substring() ...
- String 和 string 的区别
string是c#中的类,String是.net Framework的类(在c# IDE中不会显示蓝色)c# string映射为.net Framework的String如果用string,编译器会把 ...
- [工具]web开发时自动刷新网页:liveReload
传统网页开发流程:用sublime text写好代码,运行,发现问题,再回到sublime text修改,运行…如此往复,十分繁琐.今天看到有人(<LiveReload>讓Sublime ...
- C++中实现回调机制的几种方式(一共三种方法,另加三种)
(1)Callback方式Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型. 比如下面的示例代码,我们在Down ...
- js深入研究之初始化验证
<script type="text/javascript"> var Book = function(isbn, title, author) { if(!this. ...
- 段错误bug的调试
我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的.实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难 免会在此处犯些小错误,而通常这些错误又是那么的浅显而易 ...
- URAL 1036
题目大意:求前N位与后N位各个位和相等且总和等于S的2N位数的个数. KB 64bit IO Format:%I64d & %I64u 数据规模:1<=N<=50,0< ...
- Ext.window的close的问题
以前每次都是用的hide,关闭后隐藏窗体,下一次点击再打开,这种方法在我的随笔里面有,可是现在遇到一个问题,我的窗体里面有个formpanel,formpanel每一项都有一个默认值,意思就是修改的时 ...