要想搞明白js的事件机制,必须搞清楚几个概念:事件对象,事件源,还有事件流

事件对象:

当事件发生时会产生事件对象,事件对象的作用是用来记录“事件发生是一些相关的信息。注意事件对象只有在事件发生时才会产生,我们无法手动创建,并且事件对象只能在处理函数内部访问,处理函数允许结束后该对象自动销毁。

怎么理解那??

<script>  document.onmousemove = function (ev) {  var e = ev || window.event;  var div = document.getElementById('div');  div.innerHTML = "clientX:"+ e.clientX;  }  </script>  

如上代码,当onmousemove事件发生时,就会产生一个事件对象,就是程序中的event对象,我们只能在这个匿名函数中访问到这个event对象,在函数外面是访问不到的,同样我们也无法手动创建这个event对象;

如何获取事件对象那??

var e = event || window.event; 这句话就是定义了一个变量来获取事件对象,因为不同的浏览器获取事件对象的方法有点不太一样,IE下是window.event,标准下是event,为 了兼容所以写了event || window.event.

事件对象也分为:

鼠标事件对象,键盘事件对象等,顾名思义鼠标事件发生时产生鼠标事件对象,键盘事件发生时产生键盘事件对象;既然是对象,就必然有一些属性方法啥的。

鼠标事件对象上的常用属性:

clientX,clientY,screenX,screenY,offsetX,offsetY

键盘事件对象上的属性有:

keyCode: 用来获取键盘码的;比如空格的键盘是32,回车13等

cltkey: 判断alt键是否被按下,按下是true,反之false

Ctrlkey: 判断Ctrlkey键是否被按下,按下是true,反之false

Shiftkey : 判断Shiftkey 键是否被按下,按下是true,反之false

说到这里相信大家应该理解“事件对象”了吧!接着说一说事件源。

事件源:

在事件中,当前操作的那个元素就是事件源。比如网页元素中a标签和input都有onclick事件,当点击a发生onclick事件时,事件源就是a标签,当点击input发送onclic事件是,事件源就是input。

如何获取事件源那??

IE下:window.event.srcElement

标准下:event.target

由此可见,我们是通过事件对象获取到的事件源。

例如:点击一个div外部的时候使div消失

    $(document).click(function(event) {if ($(event.target).attr("class") != "unitName") {if ($("#showDiv").css("display") == "block") {$("#showDiv").css("display", "none");// 点击外部的时候隐藏名字提示框
            }}})

查看事件的target:

jQuery通过event获取点击事件的事件对象相关推荐

  1. easyui tab 引用html,jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法

    本文实例讲述了jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法.分享给大家供大家参考,具体如下: 我们在使用EasyUI Tabs框架时,在框架最顶层的弹出窗体中需要操作当前Ta ...

  2. jquery 沟选项获取点击添加和删除的数据

    var push = new Array(); var del = new Array(); $("body").delegate('.relevance', 'change', ...

  3. vue学习:事件传递(冒泡和捕获),事件委托,jquery中的事件委托,$event 获取元素,vue事件修饰符

    事件传递 ----冒泡和捕获 DOM事件标准定义了两种事件流,这两种事件流分别是捕获和冒泡. 和许多Web技 术一样,在它们成为标准之前,Netscape和微软各自不同地实现了它们.Netscape选 ...

  4. php jquery点击事件,jQuery操作html元素点击事件详解

    这次给大家带来jQuery操作html元素点击事件详解,jQuery操作html元素点击事件的注意事项有哪些,下面就是实战案例,一起来看一下. 移除或禁用html元素的点击事件可以通过css实现也可以 ...

  5. html点击图片产生事件,jquery – 图像单击HTML5 Canvas中的事件

    我有一个 HTML5画布,我在其中添加了一个图像,我想调用图像的点击事件,但事件不会触发.我正在写一个HTML代码和jqmobile的一些代码 This text is displayed if yo ...

  6. jquery 监听td点击事件_React 事件 | 1. React 中的事件委托

    说到 React 的事件,也算是 React 的一个非常有亮点的优化,它在原生事件体系的基础上,单独实现了一套事件机制.想要了解这个机制,首先的了解下什么是事件委托以及事件委托的好处. 事件委托 假设 ...

  7. jquery click()方法模拟点击事件对a标签不生效的解决办法

    jquery click()方法模拟点击事件对a标签不生效的解决办法 参考文章: (1)jquery click()方法模拟点击事件对a标签不生效的解决办法 (2)https://www.cnblog ...

  8. jquery动态渲染绑定点击事件不生效

    原因:动态添加的HTML元素是在CSS,JS代码加载完成后再渲染的HTML页面.浏览器解析这些通过ajax请求到后台返回的数据,再根据返回的结果动态生成HTML页面时,这时绑定事件的标签元素还没有生成 ...

  9. 初始化触发点击事件_【Vue原理】Event - 源码版 之 自定义事件

    专注 Vue 源码分享,文章分为白话版和 源码版,白话版助于理解工作原理,源码版助于了解内部详情,让我们一起学习吧 研究基于 Vue版本[2.5.17] Vue 的自定义事件很简单,就是使用 观察者模 ...

最新文章

  1. 文本编辑器实现打开帮助文件的功能
  2. 可以用计算机存储的东西
  3. Windows 自动登陆的简单方法
  4. mysql设置最大连接数为200_设置mysql最大连接数的方法
  5. 前端学习之JavaScript第二天学习
  6. cf246E. Blood Cousins Return
  7. C# 数据库连接测试以及备份
  8. 仿各大app的商品详情页购买信息弹幕
  9. c++ 读取hdmi输入信号_小白需要知道HDMI知识
  10. 企业用好大数据只需这6招
  11. 金士顿优盘不被电脑识别的小技巧
  12. c语言 电阻器的分类,电阻器的分类与特点
  13. ai人工智能_人工智能能否赢得奥运
  14. 数据分析入门-第四天
  15. win10误删的注册表能还原吗_win10恢复系统注册表,win10删除注册表怎么还原
  16. Online Adaptation of Convolutional Neural Networks for Video Object Segmentation论文阅读
  17. python输入三门课程成绩_编一程序,从键盘输入学生的三门课程成绩,求其总成绩、平均成绩和总成绩除3的余值...
  18. 【渝粤题库】广东开放大学 计算机应用基础(专科) 形成性考核
  19. 【Mybatis】多表查询(一对多、多对一)
  20. 小旋风asp服务器安装了还是打不开asp文件,小旋风AspWebServer - 本地架设ASP网站

热门文章

  1. 图表下面的文字怎么变竖排_Excel中如何制作多维组合图表?
  2. CSS 总结我对3D效果的一些误解
  3. html input 的value变颜色,vue里input根据value改变背景色的实例
  4. python到底是啥_Python语言中的__init__到底是干什么的?
  5. outlook qr码在哪里_高能手办团兑换码有哪些 高能手办团哪里兑换
  6. 20211102:数字滤波器按照实现结构的分类及其优缺点总结
  7. vue 计算属性和data_Vue 计算属性问题?
  8. Zigbee学习计划暂停
  9. VSCode + PYQT5 + QtDesigner
  10. 无需写代码!谷歌推出机器学习模型分析神器,代号What-If