一、jQuery中的事件

1)加载DOM

$(document).ready()和window.onload的区别

1》执行时机

$(document).ready(){}  方法内注册的事件,只要DOM就绪就会被执行。  window.onload则是所有内容加载完毕后才会触发。

2》多次使用

js的onload事件一次只能保存对一个函数的引用,他会自动用后面的函数覆盖前面的函数。

3》简写方式

$(document).ready(function(){ 编写代码})==$(function(){编写代码})=$().ready(function(){ });

2、事件绑定

文档加载完成后,如果打算为元素绑定事件来完成某些操作,则可以用bind()方法来匹配元素进行特定事件的绑定。

bind(type[,data],fn);

1》基本效果

 2》加强效果

为了判断元素是否显示,可以使用jQuery中的is()方法来完成。

实现加强效果后,内容会隐藏和显示两种状态下切换。当相同的选择器在代码里多次出现时,用变量把它缓存起来。

3》改变绑定事件的类型

事件类型换成mouseover和mouseout。

除此之外,bind()方法还能绑定其他所有的javascript事件。

4》简写绑定事件

更好的减少代码量

3、合成事件

jQuery有两个合成事件,一个是hover(),一个是toggle(),都属于jQuery自定义的方法。

1》hover()方法

hover(enter,leaver)是光标悬停事件,移动到上面是触发enter,移除时触发leave。

hover(function(){},function(){})

2》toggle()方法

toggle()方法的语法结构是:toggle(fn1,fn2,。。fnN);

该方法用于鼠标连续单击事件,点击1次用fn1,点击2次用fn2.

 3.》再次加强效果

addClass()和removeClass() 添加样式后添加行为。

4)事件冒泡

1》什么是冒泡事件,比如body>div>span 标签,每个元素都有click事件,那么点击span的时候同样也点击到了div和body,那么各个事件都会按照特定顺序响应click事件。

2》事件冒泡所引发的问题:有必要多事件的作用 范围进行限制。如用stopPropagation()方法来停止冒泡。 用preventDefault()方法来阻止元素的默认行为。如果想要同时停止事件冒泡和元素的默认行为,则需要用return false来代替。

事件捕获jQuery不支持,必须用原始的javascript;

5)事件对象的属性

1》event.type   可以获取到事件的类型。

2》event.preventDault()方法 和 event.stopPropagation()方法,一个是阻止默认的事件行为,一个是阻止事件的冒泡,这两种方法都经过jQuery封装后使之能兼容各类浏览器。

3》event.target 的作用是获取到触发事件的元素。

4》event.relatedTarget

5》evetn.pageX和event.pageY获取到光标相对于页面的X坐标和Y坐标。

6》event.which 方法的作用是在鼠标单击事件中获取到鼠标的左中右键;在键盘事件中获取键盘的按键。

7》event.metaKey 在键盘事件中获取<ctrl>按键

6)移除事件

锋利的jQuery ——jQuery中的事件和动画(四)的更多相关文章

  1. jQuery中的事件和动画——《锋利的jQuery》(第2版)读书笔记2

    第4章 jQuery中的事件和动画 jQuery中的事件 加载DOM $(document).ready(function(){   // 编写代码... }); 可以简写成: $(function( ...

  2. jQuery中的事件与动画<思维导图>

    Javascript和HTML之间的交互是通过用户和浏览器操作页面时引发的事件来处理的.当文档或者它的某些元素发生某些变化或操作时,浏览器会自动生成一个事件.例如当浏览器装载完一个文档后,会生成事件. ...

  3. 第三章 jQuery中的事件与动画

    第三章jQuery中的事件与动画 一. jQuery中的事件 jQuery事件是对javaScript事件的封装. 1.基础事件 在javaScript中,常用的基础事件有鼠标事件.键盘事件.wind ...

  4. jquery ajax 中各个事件执行顺序

    jquery ajax 中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事 ...

  5. jQuery中的事件和动画 以及视频展示效果实例

    经过这几天学习jQuery中的事件和动画,对jQuery更深的认识,接下来先把视频展示效果的代码贴出来,最后把我在学习jQuery事件和动画之后总结的思维导图 <!doctype html> ...

  6. 锋利的jQuery中的事件与动画

    奋夜的奋斗  ----  事件与动画 ----  来自地狱的战镰 小小的单词难不倒我们哦!!!!!!!    bind:绑定     unbind:接触绑定    toggle:栓牢   fadeou ...

  7. jQuery中的事件和动画效果

    刚刚学习了jqyery的一些事件和动画,下面我来总结一下: 1.基础事件 1.window事件,它的对应方法是ready(),$(document).ready()方法是事件模块中最重要的一个函数,可 ...

  8. jQuery中的事件与动画 (你的明天Via Via)

    众所周知,页面在加载时,会触发load事件:当用户单击某个按钮时,会触发该按钮的click事件. 这些事件就像日常生活中,人们按下开关,灯就亮了(或者灭了),往游戏机里投入游戏币就可以启动游戏一样, ...

  9. Jquery中的事件和动画

    在学习Jquery中的过程中我们绝大部分都用到了事件的操作,也可以说事件是Jquery中必不可少的一部分,我们常见的一些事件有单击事件,鼠标事件,键盘事件等等.在Jquery中的学习中为了能使让页面以 ...

随机推荐

  1. selenium+常见操作

    1.多窗口操作 有些页面的链接打开后,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口了.获取窗口的唯一标识用句柄表示,所以只需要切换句柄,我们就能在多个页面上灵活自如的操作了. 句 ...

  2. SQL语法——Join详解

    一.INNER JOIN 用法: select column_name(s) from table 1 INNER JOIN table 2 ON table 1.column_name=table ...

  3. [CSP-S模拟测试]:括号密码(贪心)

    题目描述 在“无限神机”的核心上,有一个奇怪的括号密码,密码初始已经有一个括号序列,有$n$个限制条件,每个限制条件描述为$l_i$和$r_i$,表示区间$[l_i,r_i]$的括号序列必须合法.调整 ...

  4. 聊聊spring-boot-starter-data-redis的配置变更

    本文主要研究一下spring-boot-starter-data-redis的配置变更 配置变更 以前是spring-boot的1.4.x版本的(spring-data-redis为1.7.x版本), ...

  5. shift、unshift、 push、pop用法

    shift()定义和用法 shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值. 语法:arrayObject.shift() 返回值:数组原来的第一个元素的值. 说明:如果数组 ...

  6. SpringMVC - <mvc:default-servlet-handler/> 导致 Controller失效

    原文地址:http://blog.csdn.net/j080624/article/details/66969987

  7. 深入理解php的输出缓冲区(output buffer)

    这篇文章是翻译自Julien Pauli的博客文章PHP output buffer in deep,Julien是PHP源码的资深开发和维护人员.这篇文章从多个方面讲解了PHP中的输出缓冲区以及怎么 ...

  8. CentOS7服务器配置

    CentOS7服务器配置 1.更换yum软件源 下载阿里源 cd /etc/yum.repos.d sudo wget -nc http://mirrors.aliyun.com/repo/Cento ...

  9. python调用c++/c 共享库,开发板上编译的一些坑!

    1.对于python,ctypes只能load动态库,但现在我的对象是一个静态库,而且我没有源代码,静态库在编译过程中没有加--fPIC参数,所以我也没办法将其编译为动态库,有没有什么方法在pytho ...

  10. gvim安装中文文档

    今天下载了个gvim一直无法安装中文中文文档,以为是版本原因,又下了几个版本,后来发现都不行. 最后发现是文档安装位置不对,需要放到vim/vim47目录下才行 以下是翻墙在官网下的gvim74和vi ...