js进阶 12 jquery事件汇总

一、常用事件

页面载入事件

  • ready() 文档就绪事件(当 HTML 文档就绪可用时)

鼠标事件

  • click() 触发、或将函数绑定到指定元素的 click 事件
  • dblclick() 当双击元素时,会发生 dblclick 事件。
  • mousedown()/mouseup() 鼠标的按下和松开事件
  • mouseover()/mouseout() 鼠标的移入和移出事件
  • mouseenter()/mouseleave() 鼠标的移入和移出事件

    mouseout()/mouseover()事件在鼠标移入“所选元素及其后代子元素”时都会触发;mouseenter()/mouseleave()事件只有鼠标移入“所选元素”才会触发,如果鼠标仅仅移入“所选元素的后代子元素”的时候,并不会触发。

  • hover()一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。
  • mousemove() 当鼠标指针在指定的元素中移动时触发。

键盘事件

    • keydown() 当键盘或按钮被按下时,发生 keydown 事件。
    • keyup() 在键盘的某个键被按下之后松开的一瞬间触发的事件。。
    • keypress() 在键盘上的某个键被按下到松开“整个过程”中触发的事件。

keypress事件只在按下键盘的任一“字符键”(如A~Z、数字键)时触发,单独按下“功能键”(如F1~F12、Ctrl键、Shift键、Alt键等)不会触发;而keydown无论是按下“字符键”还是“功能键”都会触发;

event.which 指示按了哪个键或按钮。

表单事件

  • blur() 当元素失去焦点时触发 blur 事件。

    blur事件会在元素失去焦点的时候触发,既可以是鼠标行为,也可以是按tab键离开的

  • focus() 当元素获得焦点时,触发 focus 事件。
  • focusin()当元素获得焦点时,触发 focusin 事件。

    focusin事件跟focus事件区别在于,他可以在父元素上检测子元素获取焦点的情况。

  • focusout()当元素失去焦点时触发 focusout 事件。

    focusout事件跟blur事件区别在于,他可以在父元素上检测子元素失去焦点的情况。

  • change() 当元素的值发生改变时,会发生 change 事件。

    该事件仅适用于文本域(text field),以及 textarea 和 select 元素。当用于 select 元素时,change 事件会在选择某个选项时发生。

  • select() 当用户选中单行文本框text或多行文本框textarea的文本时,会触发select事件。
  • submit() 当提交表单时,会发生 submit 事件。

其他事件

  • scroll() 当用户滚动滚动条时会发生 scroll 事件
  • resize() 当调整浏览器窗口的大小时,发生 resize 事件。
  • error() 当元素遇到错误(没有正确载入)时,发生 error 事件。注:jQuery 1.0 新增该函数,但从 1.8 开始被标记为已过时。
  • load() 触发、或将函数绑定到指定元素的 load 事件.注:jQuery 1.0 新增该函数,但从1.8开始被标记为已过时。
  • unload() 在当用户离开页面时,会发生 unload 事件。注:jQuery 1.0 新增该函数,但从1.8开始被标记为已过时。
  • toggle() 绑定两个或多个事件处理器函数,当发生轮流的 click 事件时执行。注:1.9版本 .toggle() 方法已经删除

二、事件对象

JavaScript在事件处理函数中默认传递了event对象,在入门视频中我们已经详细讲解过事件对象。jQuery对JavaScript原有的事件对象进行封装,解决了浏览器的兼容性问题,并且创建了一些新的属性和方法,使我们使用起来更加方便。

event对象的属性

  1. event.type 描述事件的类型。
  2. event.target 触发该事件的 DOM 元素。
  3. event.currentTarget 在事件冒泡阶段中的当前DOM元素,等同于'this'
  4. event.relatedTarget 返回当鼠标移动时进入或退出的那个元素
  5. event.data 事件调用时的额外数据
  6. event.pageX/event.pageY 显示鼠标相对于文件的左侧和顶部边缘的位置

    注意区分:screenX/screenY:获取显示器屏幕位置的坐标;
    clientX/clientY:获取相对于页面视口的坐标

  7. event.result这个属性包含了当前事件事件最后触发的那个处理函数的返回值

    如果为DOM元素的同一事件类型绑定了多个事件处理函数,你可以使用result属性获取上一个事件处理函数执行的返回值。

  8. event.timeStamp 属性用于返回当前事件触发的时间值。这个时间值是距离1970年1月1日的毫秒数。
  9. event.which 针对键盘和鼠标事件,这个属性能确定你到底按的是哪个键或按钮。

    event.which 将 event.keyCode 和 event.charCode 标准化了。推荐用 event.which 来监视键盘输入。

    在mousedownmouseup事件中,event.which属性返回的是对应鼠标按钮的映射代码值(相当于event.button)。以下是主要的鼠标按钮映射代码对应表。

    event.which属性值 对应的鼠标按钮
    1 鼠标左键
    2 鼠标中键(滚轮键)
    3 鼠标右键

    在keydownkeyup事件中,event.which属性返回的是对应按键的映射代码值(相当于event.keyCode)。以下是常用的键盘按键映射代码的对应表:

    which属性值(或范围) 对应的输入字符
    48 - 57 对应字符 0 - 9
    65 - 90 对应字符 A - Z
    97 - 122 对应字符 a - z
    which属性值(或范围) 对应的键盘按键
    8 Backspace键
    9 Tab键
    13 Enter键
    16 Shift键
    17 Ctrl键
    20 Alt键
    20 Caps Lock键(大小写锁定)
    27 Esc键
    33 - 36 对应按键 PageUp、PageDown、End、Home
    37 - 40 对应按键 左、上、右、下(方向键)
    45 - 46 对应按键 Insert、Delete
    48 - 57 对应按键 0 - 9(非小键盘)
    65 - 90 对应按键 A - Z
    91 Windows键
    96 - 105 对应按键 0 - 9(小键盘)
    106、107、109、110、111 对应按键*、+、-、.、/(小键盘)
    112 - 123 对应按键 F1 - F12
  10. event.preventDefault() 阻止事件的默认动作。
  11. event.isDefaultPrevented() 返回 event 对象上是否调用了 event.preventDefault()。
  12. event.stopPropagation() 防止事件冒泡
  13. event.isPropagationStopped()判断是否调用过 event.stopPropagation() 方法
  14. event.stopImmediatePropagation() 阻止剩余的事件处理函数执行并且防止事件冒泡
  15. event.isImmediatePropagationStopped() 检测 event.stopImmediatePropagation() 是否被调用过。

三、事件处理

  1. 事件绑定

    on() 为某些元素绑定一个事件或者多个事件。

    该函数可以为同一元素、同一事件类型绑定多个事件处理函数。触发事件时,jQuery会按照绑定的先后顺序依次执行绑定的事件处理函数。

  2. 事件解绑

    off() 解除绑定的某一指定的事件或者所有事件。

    “绑定”与“解绑”是相反的关系。在jQuery中,我们可以通过off()方法解除绑定的某一指定的事件或者所有事件。

    对同一元素绑定的多个同一事件进行解绑,可以使用命名空间解决,例如‘click.a’‘click.b’

  3. 事件委托

    通过事件冒泡,让子元素绑定的事件冒泡到父元素(或祖先元素)上,然后再进行处理。

  4. one()为每一个匹配元素的特定事件绑定一个一次性的事件处理函数。

    通过one()函数绑定的事件处理函数都是一次性的,只有首次触发事件时会执行该事件处理函数。触发之后,jQuery就会移除当前事件绑定。

  5. trigger() 在每一个匹配的元素上触发某类事件。
  6. triggerHandler() 触发被选元素的指定事件类型。但不会执行浏览器默认动作,也不会产生事件冒泡。
    与trigger()区别
    1. triggerHandler()不会引起事件的默认行为
    2. trigger() 会操作匹配的所有元素,而triggerHandler() 只影响第一个匹配元素。
    3. triggerHandler() 创建的事件不会产生事件冒泡.
    4. triggerHandler()返回的是事件处理函数的返回值,而不是具有可链性的 jQuery 对象。如果没有处理程序被触发,则这个方法返回 undefined。

温馨提示

js进阶 12 jquery事件汇总的更多相关文章

  1. js进阶 14 jquery的ajax有哪些函数和事件(多练)

    js进阶 14 jquery的ajax有哪些函数和事件(多练) 一.总结 一句话总结:常用:load.ajax.post.get.getScript().getJSON().表单序列化,ajax事件这 ...

  2. js进阶 12-14 jquery的事件触发函数是哪两个

    js进阶 12-14 jquery的事件触发函数是哪两个 一.总结 一句话总结:trigger和triggerHandler 1.trigger传额外参数时候的注意事项是什么? 注意样例中是三个参数 ...

  3. js进阶 12-5 jquery中表单事件如何使用

    js进阶 12-5 jquery中表单事件如何使用 一.总结 一句话总结:表单事件如何使用:可元素添加事件监听,然后监听元素,和javase里面一样. 1.表单获取焦点和失去焦点事件有哪两组? 注意是 ...

  4. js进阶 12-4 jquery键盘事件如何使用

    js进阶 12-4 jquery键盘事件如何使用 一.总结 一句话总结:键盘和鼠标都是外设输入设备,所以函数很像,所以使用就像鼠标事件click一样 1.jquery键盘事件有哪三个? 1(up和do ...

  5. js进阶 12-1 jquery的鼠标事件有哪些

    js进阶 12-1 jquery的鼠标事件有哪些 一.总结 一句话总结:1+3*2+1+1,其中里面有两组移入移出,一组和click,总结就是click(3个),hover(5个),mousemove ...

  6. js进阶 12-15 jquery如何实现点击button显示列表,点击其它位置隐藏列表

    js进阶 12-15 jquery如何实现点击button显示列表,点击其它位置隐藏列表 一.总结 一句话总结:在button中阻止事件冒泡. 1.如何咋button中阻止事件冒泡(两种方法)? ev ...

  7. js进阶 14-9 ajax事件有哪些

    js进阶 14-9 ajax事件有哪些 一.总结 一句话总结:ajax开始时事件.发送时事件,请求完成时事件,请求成功时事件,请求结束时事件,请求错误时事件事件. 1.ajax事件的监听对象是谁? 都 ...

  8. js进阶 12-18 jquery如何实现自定义右键菜单(把问题分细)

    js进阶 12-18  jquery如何实现自定义右键菜单(把问题分细) 一.总结 一句话总结:用鼠标右键事件contextmenu,阻止系统默认事件,让做好的右键菜单显示出来,并且显示在我们出现的位 ...

  9. js进阶 12-17 jquery实现鼠标左键按下拖拽功能

    js进阶 12-17 jquery实现鼠标左键按下拖拽功能 一.总结 一句话总结:监听的对象必须是文档,鼠标按下运行mousemove事件,鼠标松开取消mousemove事件的绑定,div的偏移的话是 ...

随机推荐

  1. zoj 2778 - Triangular N-Queens Problem

    题目:在三角形的棋盘上放n皇后问题. 分析:找规律题目.依照题目的输出,能够看出构造法则: 先填奇数,后填偶数.以下我们仅仅要证明这样的构造的存在性就可以. 解法:先给出集体构造方法,从(1.n-f( ...

  2. findFocus-获得拥有焦点的控件

    所有的view控件有一个findFocus方法,这个方法如下 /** * Find the view in the hierarchy rooted at this view that current ...

  3. 给网站设置ICO图标

    方法一:         直接在站点根目录下放入名为:favicon.ico 的图标文件(必须要为 ICO 文件,BMP 及其他格式的图片文件不行).还有将 favicon.ico 中的 favico ...

  4. echo---打印变量或输出字符串

    cho命令用于在shell中打印shell变量的值,或者直接输出指定的字符串.linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下e ...

  5. postgresql 不同数据库不同模式下的数据迁移

    编写不容易,转载请注明出处谢谢, 数据迁移 因为之前爬虫的时候,一部分数据并没有上传到服务器,在本地.本来用的就是postgresql,也没用多久,数据迁移的时候,也遇到了很多问题,第一次使pg_du ...

  6. LeetCode 06 ZigZag Conversion

    https://leetcode.com/problems/zigzag-conversion/ 水题纯考细心 题目:依照Z字形来把一个字符串写成矩阵,然后逐行输出矩阵. O(n)能够处理掉 记i为行 ...

  7. absolute、relative,toggle()

    測试代码例如以下: <div> <div class="global">不应用样式</div> <div class="glob ...

  8. java三元表达式编程规范问题

    package day01; public class Program { public static void main(String[] args) {        // TODO Auto-g ...

  9. 求第k大的数(用到快速排序算法的思想)

    //下面两种part效率比较:相同运算量下part比part2快5倍左右,part2写法简单但是效率低 #include "stdafx.h" #include <iostr ...

  10. onvif开发之设备发现功能的实现--转

    忙了一个多月,onvif总算告一段落了.这几个星期忙着其他的项目,也没有好好整理一下onvif的东西.接下来得好好整理一下自己的项目思路和项目经验,同时将自己的一些心得写出来,希望对人有所帮助. 相信 ...