前端事件处理的四种方法
来源:互联网 发布:狼雨seo网络 编辑:程序博客网 时间:2024/06/05 08:55
事件就是用户或浏览器自身执行的某种动作,比如CLICK,LOAD,MOUSEOVER等等,响应事件的函数就是事件处理函数。
1.事件处理可以直接在HTML级别写,<button onclick="somefunction()" />这样就可以调用在页面其他地方定义的脚本,当然也可以直接在ONCLICK后面写函数。
事件处理程序的代码在执行时,有权访问全局作用域的任何代码。
这种方式下,首先会创建一个封装着元素属性值的函数,这个函数中有个局部变量EVENT,就是事件对象。
通过EVENT对象,可以访问事件对象。并且在这种方式下,THIS的值就等于事件的目标元素,这个例子中就是点击的BUTTON。
这个函数扩展作用域的方法是这样的:
function(){
with(document){
with(this){
//元素属性值
}
}
}
2.事件处理也可以在DOM0级实现。
这是通过JS指定事件处理程序的传统方式,就是将一个函数赋值给一个事件处理程序属性。
每个元素,都有自己的事件处理程序属性,我们先获得元素,再设置它的事件处理程序即可。
这个时候的事件处理程序的作用域是元素的作用域,THIS就指向当前元素。
这种方式添加的函数会在事件的冒泡阶段被处理。
3.事件处理也可以在DOM2级实现。
DOM2级在DOM0级的基础上添加了更多的接口,用于事件处理的有两个方法,addEventListener()和removeEventListener()
所有DOM节点都包含这两个方法,接受三个参数,要处理的事件名,函数,和一个表示处理阶段的布尔值(TRUE表示在捕获阶段调用,FALSE表示在冒泡阶段调用)
eg: btn,addEventListener("click",funciton()'{},false);
这种方法的好处是可以添加多个函数。执行顺序就是添加的顺序:先添加先执行。
4.IE中实现了与DOM中类似的方法,attachEvent()和detachEvent(),添加的事件在冒泡阶段执行
但是这种方法下,THIS不指向元素,作用域变成全局作用域,THIS指向WINDOW了。
它的执行顺序也和DOM2级方法返回来,先添加后执行。
参考资料《JS高程》
- 前端事件处理的四种方法
- Java图形界面事件监听处理之四种方法
- Java图形界面事件监听处理之四种方法
- Java图形界面事件监听处理之四种方法
- Java图形界面事件监听处理之四种方法
- Java图形界面事件监听处理之四种方法
- Java图形界面事件监听处理之四种方法
- JQuery绑定事件的四种方法
- 安卓中点击事件的四种方法
- 点击事件的四种方法
- 点击事件的四种方法
- Android 四种点击事件的方法
- Button点击事件的四种方法
- 事件四(事件处理中使用匿名方法)
- 前端修炼手札:清除浮动的四种方法
- 网站 被降权的四种处理方法
- Java事件处理的4种方法
- 表单事件的两种处理方法
- Pytorch安装-pip安装方案
- glut配置:glutdlls37beta+VS2017
- 浅谈c语言—位段
- 小玩意,div制作下拉按钮
- ID卡复制教程(使用T5577卡复制4100卡)
- 前端事件处理的四种方法
- 构造和拷贝构造的N种调用情况的问题
- 使用LitePal操作数据库
- 自定义圆形进度条(二)
- bacula服务器备份系统安装
- Nginx常见场景代理转发配置
- 动态规划最大子矩阵
- 分水岭算法
- python字典排序、按照list中的字典的某个key排序