首页 > 其他 > 详细

关于事件的那些细节知识...

时间:2017-04-05 20:52:59      阅读:155      评论:0      收藏:0      [点我收藏+]

关于事件的知识汇总


//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://blog.csdn.net/wu_xianqiang/article/details/69275216

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!