javascript DOM事件总结

 1 <html>
  2 <title>事件</title>
  3 <meta charset="utf-8"/>
  4 <body>
  5 <div id="box">
  6  <input type="button" value="按钮" id="btn" onclick="showMes()"/>
  7  <input type="button" value="按钮2" id="btn2"/>
  8  <input type="button" value="按钮3" id="btn3"/>
  9  <a href="event.html" id="go" target="_blank">跳转</a>
 10 </div>
 11 </body>
 12 </html>
 13 <script>
 14 /**
 15 *    非IE
 16 *    event.type 获取事件的类型
 17 *    event.target属性 获取事件的目标
 18 *    event.stopPropagation()方法;//阻止事件冒泡
 19 *    event.preventDefault()方法;//阻止事件默认行为
 20 *
 21 *   IE
 22 *    event.type 获取事件的类型
 23 *    event.srcElement
 24 *    event.cancelBubble属性阻止事件冒泡
 25 *     设置为true为阻止冒泡,设置为false不阻止冒泡
 26 *    returnValue=false 阻止事件默认行为
 27 *
 28 */
 29 function showMes(event){
 30  event = event || window.event;
 31  var ele = event.target || event.srcElement;
 32  alert(ele.nodeName);
 33 }
 34
 35 function showbox(){
 36  alert(‘这里放盒子‘);
 37 }
 38
 39 function stopGoto(event){
 40  //event.type 获取事件的类型
 41  //event.target属性 获取事件的目标
 42  event.stopPropagation();//阻止事件冒泡
 43  event.preventDefault();//阻止事件默认行为
 44 }
 45
 46 var btn2 = document.getElementById("btn2");
 47 var btn3 = document.getElementById("btn3");
 48 var go = document.getElementById("go");
 49 btn2.onclick = function(){
 50  alert(‘通过DOM0级添加事件‘);
 51 }
 52 btn2.onclick = null;
 53
 54 //DOM2级事件
 55 var eventUtil = {
 56
 57  //添加句柄
 58  addHandler:function(element,type,handler){
 59   if(element.addEventListener){
 60    element.addEventListener(type,handler,false);
 61   }else if(element.attachEvent){
 62    element.attachEvent(‘on‘+type,handler);
 63   }else{
 64    element[‘on‘+type] = handler;
 65   }
 66  },
 67  //删除句柄
 68  removeHandler:function(element,type,handler){
 69   if(element.removeEventListener){
 70    element.removeEventListener(type,handler,false);
 71   }else if(element.detachEvent){
 72    element.detachEvent(‘on‘+type,handler);
 73   }else{
 74    element[‘on‘+type] = null;
 75   }
 76  },
 77
 78  getEvent:function(event){
 79   return event ? event : window.event;
 80  },
 81
 82  getElement:function(event){
 83   return event.target || event.srcElement;
 84  },
 85
 86  preventDefault:function(event){
 87   if(event.preventDefault){
 88    event.preventDefault();
 89   }else{
 90    event.returnValue = false;
 91   }
 92  },
 93
 94  stopPropagation:function(event){
 95   if(event.stopPropagation){
 96    event.stopPropagation();
 97   }else{
 98    event.cancelBubble = true;
 99   }
100  }
101 };
102
103 eventUtil.addHandler(btn3,"click",showMes);
104 //eventUtil.removeHandler(btn3,"click",showMes);
105 eventUtil.addHandler(box,"click",showbox);
106 eventUtil.addHandler(go,"click",stopGoto);
107 </script>
时间: 2024-10-16 12:50:32

javascript DOM事件总结的相关文章

JavaScript DOM事件流

昨天一天被Amy姐姐讲懵圈了.讲的自信心快没有了,严重怀疑智商.所以今天写一篇相关的基础知识博客,好好补一下.心情有点low,但还是要加油!!!没有人会同情弱者. 历史由来:DOM事件标准定义了两种事件流,这两种事件流有着显著的不同并且可能对你的应用有着相当大的影响.这两种事件流分别是捕获和冒泡.和许多Web技术一 样,在它们成为标准前,Netscape和微软各自不同地实现了它们.Netscape选择实现了捕获事件流,微软则实现了冒泡事件流.幸运的 是,W3C决定组合使用这两种方法,并且大多数新

Javascript - DOM事件

事件(Event) 在Javascript中处理事件的函数被称为事件侦听器,就像C#中的事件订阅者的事件处理器.要触发一个事件必须先注册(订阅)事,当事件被触发时,事件侦听器就会做出响应(invoke事件侦听). 自定义事件 注册事件 object.addEventListener(type,func,bool) type是事件触发的方式,func是处理事件的函数(事件侦听器),bool布尔值,为true表示事件会围捕,为false表示事件会冒泡. 注销事件 object.removeEvent

JavaScript 客户端JavaScript之事件(DOM API 提供模块之一)

具有交互性的JavaScript程序使用的是事件驱动的程序设计模型. 目前使用的有3种完全不同的不兼容的事件处理模型. 1.原始事件模型 (一种简单的事件处理模式) 一般把它看作0级DOM API的一部分内容,所有启用了JavaScript的浏览器都支持它,因此它具有可移植性. 2.标准事件模型 (一种强大的具有完整性的事件模型) 2级DOM标准对它进行了标准化,除IE以外的所有浏览器都支持它. 3.IE事件模型 想用高级事件处理特性的JavaScript程序设计者必须为IE浏览器编写特定的代码

JavaScript HTML DOM 事件

对事件做出反应 我们可以在事件发生时执行 JavaScript,比如当用户在 HTML 元素上点击时. 如需在用户点击某个元素时执行代码,请向一个 HTML 事件属性添加 JavaScript 代码: onclick=JavaScript HTML 事件的例子: 当用户点击鼠标时 当网页已加载时 当图像已加载时 当鼠标移动到元素上时 当输入字段被改变时 当提交 HTML 表单时 当用户触发按键时 例子 1 在本例中,当用户在 <h1> 元素上点击时,会改变其内容: <h1 onclick

javascript的IE事件和DOM事件模型

通用的事件模型: 1.是在HTML页面绑定 <button id="button" onclick="function();">按钮</button> 2.在javascript脚本文件中绑定事件处理 document.getElementById('button').onclick = function; IE中的事件模型 1.使用script for绑定(这个绑定很少用) <script for="btn1" e

仅用原生JavaScript手写DOM事件模型

前言 前段时间博客园里有篇很火的帖子2016十家公司前端面试小记,主要讲作者的前端求职面试经历,其中提到了面试官会考察手写一个简单的事件模型: "如果上述都ok的话,那么极有可能要求让你[实现事件模型],即写一个类或是一个模块,有两个函数,一个bind一个trigger,分别实现绑定事件和触发事件,核心需求就是可以对某一个事件名称绑定多个事件响应函数,然后触发这个事件名称时,依次按绑定顺序触发相应的响应函数." 如果了解观察者模式,那么事件模型应该不算太难.本着深入钻研的精神,我试着来

【javascript总结】javascript的IE事件和DOM事件模型

通用的事件模型 1.是在HTML页面绑定 <button id="button" onclick="function();">按钮</button> 2.在javascript脚本文件中绑定事件处理 document.getElementById('button').onclick = function; IE中的事件模型 1.使用script for绑定(这个绑定很少用) <script for="btn1" ev

JavaScript&amp;jQuery.DOM事件

DOM事件 在JavaScript中常见的事件有: UI事件,当与浏览器UI本身(而不是网页)交互时发生的事件. 鼠标事件,当用户操作鼠标.触控板.或触摸屏幕时发生. 键盘事件,当用户操作键盘时发生. 焦点事件,当一个元素(比如链接或表单)得到或失去焦点时发生. 表单事件,当用户与表单元素进行交互时发生. 变动事件,当用户修改了DOM结构(添加或删除元素节点)后发生. DOM事件如何触发javaScript代码 对象有属性.方法.事件 本质上他们是同一个东西:属性=方法=事件. 事件->方法->

JavaScript学习总结【10】、DOM 事件

DOM 事件是 JS 中比较重要的一部分知识,所谓事件,简单理解就是用户对浏览器进行的一个操作.事件在 Web 前端领域有很重要的地位,很多重要的知识点都与事件有关,所以学好 JS 事件可以让我们在JS的学习道路中更进一步. 1.事件流 事件流描述的是从页面中接受事件的顺序.但是 IE 和 Netscape 开发团队提出了两个截然相反的事件流概念,IE 的事件流是事件冒泡流,而 Netscape 的事件流是事件捕获流. (1).事件冒泡 事件冒泡,即事件最开始由最具体的元素(文档中嵌套层次最深的