1.前言

如果使用原生JavaScript编程,在不同浏览器获取事件对象的方法并不相同。例如,在IE浏览器中,程序可通过隐式的、全局event对象来获取对象;在Firefor、Opera等浏览器中,程序则通过事件处理函数的第一个参数来获取事件。

jQuery消除了不同浏览器上事件差异。在jQuery中,事件对象总是作为参数传入事件处理函数,不仅如此,原生事件的大量属性也会被复制到jQuery的事件中。

jQuery事件大致包含了以下几种属性和方法:

1)        currentTarget:代表在事件冒泡阶段中事件当前所处的DOM元素。

2)        data:代表通过bind()、on()、delegate()等方法绑定事件处理函数时传入的data参数。

3)        delegateTarget:返回在jQuery中绑定事件处理函数的对象

4)        isDefaultPrevented():返回是否调用了事件对象的preventDefault()方法,即是否阻止了默认行为。

5)        isImmediatePropagationStopped():返回是否调用了事件对象stopImmediatePropagation()方法,即是否立即 停止事件传播。

6)        isPropagationStopped():返回是否调用事件对象的stopProgapation(),即是否阻止事件传播。

7)        pageX:返回鼠标点击距离文档左边界的距离。

8)        pageY:返回鼠标点距离文档边界的距离。

9)        preventDefault():调用该方法阻止事件的默认行为。

10)    relatedTarget:返回参与事件的所有其他DOM元素。

11)    result:返回该事件触发的事件处理函数执行后的返回值。

12)    stopImmediatePropagation():调用该方法立即停止事件传播。

13)    stopPropagation():调用该方法停止事件传播。

14)    target:返回触发该事件的初始化事件源。

15)    timestamp:返回1970-01-01到浏览器创建该事件的时间差,以这毫秒为单位。

16)    type:返回事件的类型。

17)    which:对于鼠标 、键盘事件,该属性返回激发该事件的鼠标键或键盘键。

2.例子

下面开发了一个键盘控制“n飞机移动的例子,为了键盘控制飞机移动,程序需要根据激发键盘事件的按键进行相应处理。

<!DOCTYPE html>
<html>
<head><meta name="author" content="OwenWilliam" /><meta http-equiv="Content-Type" content="text/html; charset=GBK" /><title> 访问jQuery事件对象 </title>
</head>
<body>
<script type="text/javascript" src="../jquery-1.8.0.js">
</script>
<script type="text/javascript">
// 指定页面加载完成后执行该函数
$(function(){// 获取页面上包含飞机图片的div元素var target = $("body>div:first");// 为body元素的keydown事件绑定事件处理函数$("body").keydown(function(event){switch(event.which){// 按下向左键case 37:target.offset({left:target.offset().left - 4 , top:target.offset().top});break;// 按下向上键case 38:target.offset({left:target.offset().left, top:target.offset().top - 4});break;// 按下向右键case 39:target.offset({left:target.offset().left + 4 , top:target.offset().top});break;// 按下向下键case 40:target.offset({left:target.offset().left , top:target.offset().top + 4});break;}});})
</script>
<div style="position:absolute;"><img src="plane.png" alt="飞机"/></div>
</body>
</html>

3.运行结果

jQuery事件相关方法相关推荐

  1. 第79天:jQuery事件总结(二)

    上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件.事件冒泡和事件移除等内容. 一.合成事件 jQuery有两个合成事件--hove ...

  2. 49 jQuery事件

    技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.jQuery事件注册 单个事件注册 语法: element.事件(function() ...

  3. JQuery事件绑定,bind与on区别

    jquery事件绑定 bind:向匹配元素添加一个或多个事件处理器 $(selector).bind("click",data,function); live:向当前或未来的匹配元 ...

  4. jQuery事件的链式写法

    <head>     <title>jQuery事件的链式写法</title>     <script src="jquery-1.9.1.js&q ...

  5. 2017-6-3 jQuery 事件 DOM操作

    1. jQuery 事件: ////hover:相当于相当于把mouseover()mouseout()合二为一//$("#div1").hover(function ()//{/ ...

  6. jQuery事件之鼠标事件

    jQuery事件之鼠标事件 鼠标事件是在用户移动鼠标光标或者使用任意鼠标键点击时触发的.    (1):click事件:click事件于用户在元素敲击鼠标左键,并在相同元素上松开左键时触发.      ...

  7. jQuery 事件用法详解

    目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jquery中文文档 简介 jque ...

  8. jQuery 事件绑定方法(bind hover toggle live.... )、删除事件方法(unbind, die)及 事件对象

    事件绑定方法: 1.<type>(function) $("button").click(function(){... }); 2.bind(map) $(" ...

  9. JQuery-学习笔记06【高级——JQuery事件绑定和切换】

    Java后端 学习路线 笔记汇总表[黑马程序员] JQuery-学习笔记01[基础--JQuery基础]--[day01] JQuery-学习笔记02[基础--JQuery选择器] JQuery-学习 ...

  10. 什么是 jQuery 事件

    jQuery事件是DOM事件的封装,同时支持自定义的扩展.在程序设计中,事件和代理有着相似的作用: 它们提供了一种机制,使得行为的实现方式和调用时机可以分离. 不谈jQuery,DOM本身就提供了一系 ...

最新文章

  1. 吴恩达老师深度学习视频课笔记:人脸识别
  2. iOS开发之使用CocoaPods更新第三方出现“target overrides the `OTHER_LDFLAGS`……”问题解决方案
  3. 马斯克雇机器狗勘察火箭爆炸现场,网友:《黑镜》现实版
  4. 被捞起的“海底数据中心”,故障率仅为陆地1/8,微软新型数据存储模式又有新进展...
  5. linux远程连接硬件加速,linux – 没有X的硬件加速
  6. 计算机系统结构树形流程图,计算机系统结构 第七章自考练习题答案
  7. 【设计模式】—— 中介者模式Mediator
  8. java csv下载_java 生成csv文件,弹出下载对话框。。。
  9. 配置babel_Babel 7 下配置 TypeScript 支持
  10. NOI数据结构:后缀数组
  11. Elasticsearch(六) java代码操作Es进行高级查询match、match_all
  12. 绝了!RNN 还会写藏头诗!
  13. 麦咖啡将投资25亿在中国内地布局超过4000家;星巴克中国咖啡创新产业园正式动工 | 美通企业日报...
  14. SiamRPN代码分析:architecture
  15. 世界上程序员最好的学习法:费曼学习法
  16. torch.cumsum(),torch.sum()
  17. kali虚拟机root密码错误
  18. 我的10年计算机之路
  19. 五大方面:机器学习如何在不久的将来改变教育
  20. Linux配置NAT网络

热门文章

  1. 使用Python写的第一个网络爬虫程序
  2. 去掉博客复制下来的代码的行号
  3. maven的一些依赖
  4. Servlet连接数据库
  5. 今天是有纪念意义的一天--中国13亿人口日
  6. 明显调用的表达式前的括号必须具有(指针)函数类型
  7. IS-IS认证原理(华为设备)
  8. PPP协议基础与工作流程
  9. 交换机端口配置与管理
  10. 直播 3.0 时代,在线教育行业的裂变和重构