博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(八)jQuery中的事件
阅读量:6435 次
发布时间:2019-06-23

本文共 2516 字,大约阅读时间需要 8 分钟。

1.加载DOM

在常规的JavaScript中,使用window.onload方法;而在jQuery中,使用$(document).ready(function(){ })方法。
window.onload与$(document).ready()的不同:
● 执行时间
window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。
$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。
● 编写个数不同
window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个 。它会默认用后面的函数覆盖前面的函数。
$(document).ready()可以同时编写多个,并且都可以得到执行

● 简化写法

window.onload没有简化写法
$(document).ready(function(){})可以简写成$(function(){});

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

bind()的调用格式:

bind(type [,data] ,fn);

type:代表事件类型,类型包括:blur、focus、load、resize、scroll、unload、click、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseinter、mouseleave、change、select、submit、keydown、keypress、keyup和error等。

data:可选参数,作为event.data属性值传递给事件对象的额外数据对象

fn:有来绑定处理的函数

什么是jQuery?

什么是jQuery?

3.合成事件

● hover()方法

  hover()方法的语法结构:hover(enter, leave);

  hover()方法用于模拟光标悬停事件。当光标移动到元素上时,会触发enter函数;当光标移出这个元素时,会触发leave函数。

● toggle()方法

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

  toggle()方法用于模拟鼠标连续单击事件。第一次单击元素时,触发fn1函数,当再次单元素时,触发fn2函数;如果有更多函数,则依次触发,直到最后一个。

 

4.事件冒泡

事件冒泡现象重现:

外层div元素
内层span元素 外层div元素

停止事件冒泡:

当单击元素时,事件对象event就被创建了。这个事件对象只有在事件处理函数才能访问到。事件处理函数执行完毕后,事件对象就被毁弃。

5.事件对象的属性

1)event.type:该方法的作用是可以获取到事件的类型

$("a").bind("click",function(){    console.log(event.type);   //输出为click    return false;});

2)event.preventDefault()   阻止默认的事件行为  (JavaScript中符合w3c规范中的preventDefault()方法在IE中无效)   

3)event.stopPropagation()  阻止时间的额冒泡 (JavaScript中符合w3c规范中的stopPropagation()方法在IE中无效)   

4)event.target  获取到触发事件的元素

5)event.relatedTarget  如在mouseover事件触发时,相关的元素,如另外一个mouseout元素

6)event.pageX和event.pageY   获取到光标相对于页面的x坐标和y坐标

7)event.which()  在鼠标单击事件中获取到鼠标的左中右键

8)event.metaKey  判断事件是否包含ctrl按键

9)event.originalEvent()  指向原始的事件对象

 

6.移除事件:unbind()

7.模拟操作:使用trigger()方法模拟事件
● 常用模拟
  模拟单击事件:$("#btn").trigger("click");(简化:$("#btn").click();)
● 触发自定义事件:

HTML:

● 传递数据

8.添加事件命名空间,便于管理

 

转载于:https://www.cnblogs.com/xiangru0921/p/6525835.html

你可能感兴趣的文章
方便 快捷 安全的EVO邮件服务器
查看>>
bash的快捷键
查看>>
关于如何编写linux设备驱动
查看>>
DNS服务
查看>>
九州云开放“边缘云”能力 助力中国联通延展业务边界
查看>>
Linux进程状态(ps stat)之R、S、D、T、Z、X
查看>>
ME3750和普通3750的区别
查看>>
H3C交换系列之Super VLAN
查看>>
项目采购管理
查看>>
linux系统使用tomcat服务器部署web项目
查看>>
虚拟文件系统相关结构描述【续】
查看>>
我的友情链接
查看>>
思科通配符(Cisco Wildcard Mask)
查看>>
PHP cURL快速入门
查看>>
在errpt中报E87EF1BE的解决方法(转载)
查看>>
aix chfs及mklvcopy报错的解决方法
查看>>
取消新增的constraints
查看>>
OPTIMIZE TABLE
查看>>
flask框架+pygal+sqlit3搭建图形化业务数据分析平台
查看>>
shell实战训练营Day20
查看>>