关于事件的知识汇总

关于事件的知识汇总

//DOM0级事件处理程序

var btn = document.getElementById("btn");

btn.onclick = function () {

alert(this.id);

//使用DOM0级方法指定的事件处理程序被认为是元素的方法。因此,这时候的的事件处理程序是在元素的作用域中完成的,换句话说,程序中的this引用当前元素

}

//添加事件

btn.onclick = null;

//移除事件

//优点 :原因一是简单,二是具有跨浏览器的优势。

//DOM2级件处理程序

// 定义的两个方法,用于处理指定和删除事件处理程序的操作:addEventListener()removeEventListener(),

//他们都接受三个参数:事件处理程序名称与事件处理程序函数和一个布尔值。最后一个布尔值如果是true,表示在捕获阶段调用事件处理程序;如果是false,表示在冒泡阶段调用事件处理程序

var btn = document.getElementById("btn");

function handler() {

alert(this.id);

//与DOM0级一样,这里添加的事件处理程序是在元素的作用域中运行

}

btn.addEventListener("click",handler,false);

//添加事件

btn.removeEventListener("click",handler,false);

//移除事件

//优点:可以给一个元素添加多个事件处理程序,事件处理程序会以按照添加他们的顺序执行。 缺点: IE9 ,Firefox,Safari,Chrome,和 Opera 支持 DOM2 级事件处理程序

//IE事件处理程序, IE 实现了与DOM中类似的两个方法:attachEvent(), detachEvent(),这两个方法接收相同的两个参数:事件处理程序名称与事件处理程序函数,由于IE8及更早版本只支持事件冒泡,所以事件处理程序会被添加到冒泡阶段

var btn = document.getElementById("btn");

function handler() {

alert(this === window);

//事件处理程序会发生在全局作用域中,因此this等于window.

}

btn.attachEvent("click",handler,false);

//添加事件

btn.detachEvent("click",handler,false);

//移除事件

//优点:可以给一个元素添加多个事件处理程序,事件处理程序不是以按照添加他们的顺序执行,而是以相反的顺序触发。

本文由web前端精髓为您提供(喜欢我的文章记得点一下关注哦!)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 声明:本文来源于http://www.webzsky.com/?p=731我只是在这里作为自己的学习笔记整理一下(...
    angryyan阅读 11,940评论 1 6
  • 事件流: 事件流:页面接收事件的顺序。 IE定义的:事件冒泡流(由最具体的元素依次传播到DOM树的最上层的Docu...
    xiaoguo16阅读 3,709评论 0 0
  • 1.事件代理 事件代理:为子元素添加监听器转变为为父容器添加监听器,然后通过event.target判断具体操作的...
    IT男的成长记录阅读 3,529评论 0 0
  • 什么是事件? JavaScript与HTML之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定...
    LeeoZz阅读 1,371评论 0 0
  • 题目1: DOM0 事件和DOM2级在事件监听使用方式上有什么区别? Dom0级Dom0级事件处理程序是将一个函数...
    QQQQQCY阅读 2,523评论 0 0