JavaScript09—事件、事件对象
2020-08-11 20:15
204 查看
事件对象
事件的兼容(侦听和删除侦听)
ie9以上
-
添加事件:element.addEventListener(‘事件类型,事件回调函数,(是否捕获时触发))
拓展:
1、事件只执行一次 div.addEventListener(“click”,clickHandler,{once:true}) - 2、事件执行指定次数 加一个变量,判断变量的次数
移除事件:element.removeEventListener(‘事件类型,事件回调函数,(是否捕获时触发))
ie8及以下
-
添加事件:element.attachEvent(‘on开头的事件名’,事件函数名)
注:只有两个参数,没有第三个参数
移除事件:element.detachEvent(‘on开头的事件名’,事件函数名)
兼容写法
-
添加
function addEventListen(elem,type,callback){
try{
elem.addEventListener(type,callback)
}catch(e){
elem.attachEvent(“on”+type,callback);
}
}
删除
-
function removeEventListen(elem,type,callback){
try{
elem.removeEventListener(type,callback)
}catch(e){
elem.detachEvent(“on”+type,callback);
}
}
各种绑定方法对比
addEventListener
-
优点
支持捕获和冒泡阶段分开侦听 - 支持事件抛发机制
- 支持同一个事件做多个事件回调函数
- 事件使用时可以将函数与内容完全分离
缺点
-
不支持IE8及以下
attachEvent
-
优点
支持IE8以下 - 可以使一个事件调用多个回调函数
- 事件使用时可以将函数与内容完全分离
缺点
-
IE8以上不支持
οnclick=fn
-
优点
全浏览器支持,不考虑兼容问题 - 代码便捷
缺点
-
不支持事件抛发机制,只能使用系统默认事件
拓:onclick的删除
-
元素.onclick = null;
e事件内容(对象)
回调函数不能设置参数 只能系统默认传参
e.type
- 事件类型(例:click)
e.target 、e.srcElement
- 事件目标对象
e.currentTarget this
- 事件侦听对象
e.cancalBubble
- 设置取消冒泡
Event事件
change
-
失去焦距触发
只能针对表单触发
-
input 如果input.value值发生改变,并且失去焦距触发
-
select select.value是选中的值
如果想要增加多选 multiple,要得到值需用select中的name - select.selectedOptions 被选择多个元素 select.selectedOptions[i].textContent
- select.selectedIndex 选择下标
error
-
加载出错的事件
load 和error 用于图片的加载,Ajax通信以及JSON或者其他文件的加载等 - 任何内容没有放在页面中不能调用clientWidth,offsetWidth,scrollWidth这样的数据
load
-
加载成功的事件
load还可以用于window加载创建完成
-
使用window,侦听load事件
1、所有的DOM加载完成 - 2、所有的图片已经加载完成
reset
- 把表单中的元素重置为它们的默认值
submit
- 把表单数据提交到 Web 服务器
- 注:submit和reset只能针对form表单侦听,不能针对input
resize
- 调整元素的尺寸
- 针对window和textArea的事件
select
- input文本选择文字时触发
unload
- 卸载(现在用不到了)
scroll
- 滚动滚动条时触发
popstate事件
- 历史记录被回退和前进时触发
阻止默认事件
DOM中:
- event.preventDefault() 阻止默认行为
IE中: (兼容写法)
- event.returnValue=false 返回值=false
XMind: ZEN - Trial Version
相关文章推荐
- 深入理解JavaScript的闭包特性 如何给循环中的对象添加事件
- 好好学一遍JavaScript 笔记(九)——事件处理函数/监听函数/事件对象
- Javascript公共脚本库系列(三): 格式化事件对象/事件对象详解
- JavaScript之事件对象
- javascript 基础篇3 类,回调函数,内置对象,事件处理
- HTML_11_javascript_对象,事件,定时器
- ExtJs--09--javascript对象的方法的3种写法 prototype通过原型设置方法效率最好
- javaScript事件(三)事件对象
- JavaScript跨浏览器处理事件以及相关对象
- javascript 基础篇3 类,回调函数,内置对象,事件处理
- JavaScript对象、事件、属性及方法参考大全
- JavaScript 事件流、事件处理程序及事件对象总结
- Javascript 事件对象 (DOM && IE)
- 好好学一遍JavaScript 笔记(九)——事件处理函数/监听函数/事件对象
- python Web:JavaScript--DOM Event(事件)、事件对象、事件传递机制
- Javascript基础与面向对象基础~第六讲 Javascript中的事件机制
- JavaScript事件---事件对象
- JavaScript对象内联函数的使用,对象内部方法和属性的使用,以及事件冒泡的处理方式
- JavaScript之事件对象
- javascript---事件对象