js事件

事件:就是网页浏览者或者浏览器所作出的某些操作 如点击鼠标 敲击键盘 刷新页面
事件处理程序 所谓事件处理程序就是指事件被触发后要执行的函数,
有自己的名字 该名字由on加事件名称构成 on click onclick
注意:事件处理程序的名称都是小写
事件处理程序的添加方式:HTML事件处理程序
HTML事件处理程序 事件处理程序直接写在开始标签中 不常用
DOM0级事件处理程序
事件处理程序后面直接加一个匿名函数
节点.onclick=function(){console.log("hello");}
事件处理程序后面加一个函数名称,节点.onclick = fn;
DOM0级事件处理程序添加时的注意事件
同种节点,如果要添加的事件是相同的,
**DOM0级事件处理程序的删除方式 事件名.onclick(事件处理程序名称) = null;
oDiv.onclick = null;
DOM2级事件处理程序的添加 用addEventListener函数
节点.addEventListener("事件名",要执行的函数名,事件流)
第一个参数事件名必须由双引号包起来,事件名不加on
第二个参数为要执行的函数名,不需双引号包起来,注意函数名后面不加括号
第三个参数为事件流 值为true 或 false
如果要给同一个节点添加多个事件且事件名相同,那么后添加的事件会覆盖先添加的事件
DOM2级事件处理程序的删除,removeEventListener方法
节点.removeEventListener("事件名",要执行的函数名,事件流);
所谓的事件流 就是事件的执行顺序 有两种形式: 事件捕获 事件冒泡

(同种事件时涉及到事件流 冒泡 捕获)
事件捕获 事件的执行顺序为大到小
事件冒泡 事件的执行顺序为小到大
事件流的注意事项
DOM0级事件处理程序只支持事件冒泡,DOM2级事件处理程序支持事件捕获和事件冒泡
DOM2级事件处理程序在添加时如果第三个参数为true 表示事件捕获,如果为false表示事件冒泡
第三个值省略默认为事件冒泡

常见的事件
onload 当页面中所有标签都加载完成后触发该事件
onunload 页面关闭时触发(页面被卸载时) 只IE支持
onresize 节点尺寸被更改时触发
onscroll 滚动条拖动时触发

鼠标
onselect 文本框中内容被选中触发

  • onchange 域中内容被改变时触发(selsect下拉菜单的值改变时,就是选下拉里的选项时)
    onfocus 表单元素获取焦点时触发
    onblur 表单元素失去焦点时触发
    onsubmit 表单中提交按钮点击时触发 加在form标签中
    onreset 当表单中的重置按钮点击时触发 加在form标签中
    onclick 节点被鼠标单击时触发
    ondblclick 当节点被鼠标左键双击时触发
    onmousedown 鼠标被压下去触发
    onmouseup 鼠标被松开时触发
    onmouseover 鼠标从某个元素移入是触发
    onmouseout 鼠标从某个元素移出是触发
    onmousemove 鼠标在某个元素上移动时触发

键盘
onkeydown 键盘按键被按下去时触发 识别所有按键
onkeyup 键盘上的按键被松开时触发
onkeypress 同onkeydown 但是只识别字符(字母)按钮

***event对象 不需要手动创建 当给某个元素添加事件时浏览器自动创建该对象,该对象的作用是记录当前事件的相关属性和信息。该对象会以参数的形式传递给事件函数,注意地方是event对象存在兼容问题,在谷歌浏览器和火狐浏览器中event对象是以事件函数的参数形式接收,但是在IE浏览器中even对象则是window对象的属性形式保留 所以用下面代码达到兼容
var e = eve || window.event
event对象常用的属性和方法
属性
cancelable
bubbles
type
target 当前事件被触发
currentTarget

 ***
 keyCode 返回键盘按键的编码(键码),注意编码不是ASCII码
 ctrlKey 判断是否按压了Ctrl键 如果是,结果为true否则为false
 altKey 判断是否按压了alt键。如果是,结果为true否则为false
 shiftKey 判断是否按压了shiftKey键。如果是,结果为true否则为false

 *****
 screenX  获取当前鼠标点击的位置距离屏幕左端的距离 数值型
 screenY  获取当前鼠标点击的位置距离屏幕上端的距离 数值型
 clientX  获取当前鼠标点击的位置距离浏览器左端的距离 数值型
 clientY  上
 offsetX  获取当前鼠标点击的位置距离元素左端的距离  数值型
 offsetY  上
 方法
  preventDefault() 作用是:取消元素的默认行为
  stopPropagation()  取消阻断冒泡

oncontextmenu 右键弹出菜单

preventDefault siblings siblings siblings siblings siblings siblings siblings
closest closest closest closest closest closest closest siblings siblings

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容

  • 1:DOM0事件和DOM2级在事件监听使用方式上有什么区别? 浏览器端的JavaScript采用的是事件驱动的异步...
    饥人谷_bigJiao阅读 276评论 0 0
  • 关键词:事件 1. DOM0事件和DOM2级在事件监听使用方式上有何区别? 事件处理程序(事件监听器)有以下几种:...
    NathanYangcn阅读 233评论 0 1
  • 事件 JavaScript和HTML的交互是通过事件实现的。JavaScript采用异步事件驱动编程模型,当文档、...
    bpup阅读 651评论 0 1
  • 什么是事件: 事件是交互体验的核心功能 一.事件冒泡: 当一个事件发生时,这个事件会从内向外逐层传递。 二.为什么...
    轻描淡写mua阅读 512评论 0 0
  • 搞事前言 在前面一篇博客中说到关于Openfire的服务器的搭建,这一篇博客就从登录注册开始搞起,其实发现很多网上...
    神经骚栋阅读 3,135评论 7 35