事件 事件是DOM(文档对象模型)的一部分。事件流就是事件发生顺序,这是IE和其他浏览器在事件支持上的主要差别。 一、事件流 1、冒泡型事件 IE上的解决方案就是冒泡型事件,它的基本思想是从最特定的目标到最不特定的事件目标(document对象)的顺序触发。 过程:按照DOM的层次结构像水泡一样不断上升至顶端。(从里面的div触发事件再到body,到html最后直到document最顶端)。 2、捕获型事件 可以说跟冒泡是正好相反的,事件从最不精确的对象开始触发,然后直到最精确。 3、DOM事件流 DOM同时支持以上两种事件模型,其中捕获型事件先发生,从document对象开始,最后在document对象结束。 二、事件监听函数 1、IE 每个函数和window对象都有两个方法: attachEvent()方法:附加事件处理函数 [Object].attachEvent(“事件名”,处理函数fnHandler); 该方法有两个参数。 var fnClick = function() { alert("你点击了ID为div1的DIV"); } var oDiv = document.getElementById("div1"); oDiv.attachEvent("onclick", fnClick); 可以附加多个处理函数。 detachEvent()方法:分离移除事件处理函数 2、DOM addEventListener()方法:分配附加事件处理函数 [Object]. addEventListener (“事件名”,处理函数fnHandler,Boolean); 该方法有三个参数(“事件名”,“分配的函数”,处理函数是冒泡阶段还是捕获阶段) 如果事件处理函数是用于捕获阶段,则第三个参数是true,用于冒泡阶段则为false var fnClick = function() { alert("Clicked!"); } var oDiv = document.getElementById("div"); oDiv.addEventListener("click", fnClick, false); oDiv.removeEventListener("click", fnClick, false); 可以附加多个处理函数。 removeEventListener()方法:移除事件处理函数 三、事件对象 包含三个方面的信息: 1、引起事件的对象:IE中就是window.event,DOM中是处理函数的为唯一参数; 2、事件发生时的鼠标信息; 3、事件发生时的键盘信息。 IE事件对象 在IE中,事件对象是window对象的一个属性event。也就是说,事件处理函数必须这样访问事件对象: oDiv.onclick = function() { var oEvent = window.event; }oDiv.onclick = function(){ var oEvent = window.event;} 尽管是window对象的属性,event对象还是只能在事件发生时访问。所有的事件处理函数执行完毕后销毁。 DOM标准的事件对象 event对象必须作为唯一的参数传给事件处理函数。所以,在DOM兼容的浏览器(如Mozilla,Safari和Opera)中访问事件对象,要这么做: oDiv.onclick = function() { var oEvent = arguments[0]; } //也可以这样 oDiv.onclick = function(oEvent) { //..... }
推荐整理分享JavaScript 学习笔记(十五)(javascript学习指南),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:javascript入门教程,javascript基础笔记,javascript教程完整版,javascript基础笔记,javascript怎么学,javascript入门教程,javascript教程推荐知乎,javascript基础笔记,内容如对您有帮助,希望把文章链接给更多的朋友!
javascript中的array数组使用技巧 vararray=newArray(["no1","no2"]);array["po"]="props1";alert(array[0][0]);alert(array.length);//2//对于数组来说,array[0]同array["0"]效果是一样的(?不确定,测试时如此)alert(array[0]+"
详细讲解JS节点知识 注意大小写一定不能弄错.属性:Attributes存储节点的属性列表(只读)childNodes存储节点的子节点列表(只读)dataType返回此节点的数据类型Definition以DTD或XML模式
JavaScript 学习笔记(十六) js事件 回顾事件对象里包含三个方面的信息····回看上一篇内容!事件对象里的属性和方法,主要是鼠标和键盘的信息。1.获取事件类型事件对象属性type2.获