dom添加事件总结

碰到几个问题,总结一下:

  1. 什么是事件冒泡
    被点击后,由最具体的事件接收,逐级向上传至最不具体的那个节点
  2. 事件流
    描述页面接收事件的顺序
    分为html事件,DOM0级事件,DOM2级事件

DOM 0级与html事件需要加上on,DOM2在非ie下不需要,因为已经有了listen这个监听的东西,在ie下DOM2的attachEvent和detatchEvent需要加上on

注意: Internet Explorer
8 及更早IE版本不支持 addEventListener() 方法,,Opera 7.0 及 Opera 更早版本也不支持。
但是,对于这些不支持该函数的浏览器,你可以使用 attachEvent() 方法来添加事件句柄

element.addEventListener(event,
function, useCapture),前两个参数常见,对于第三个就不太了解了!!!那么~接下来

useCapture       可选。布尔值,指定事件是否在捕获或冒泡阶段执行。

true - 事件句柄在捕获阶段执行

false  默认。事件句柄在冒泡阶段执行,一般是false,能保证浏览器的兼容性

另外,DOM2 余DOM0级事件可以添加多个事件

您可以在文档中添加许多事件,添加的事件不会覆盖已存在的事件。

document.getElementById("myBtn").addEventListener("click",
myFunction);

document.getElementById("myBtn").addEventListener("click",
someOtherFunction);

removeEventListener()
方法用于移除由 addEventListener() 方法添加的事件句柄。

注意: Internet Explorer 8 及更早IE版本不支持 removeEventListener() 方法,Opera 7.0 及 Opera 更早版本也不支持。 但是,对于这些不支持该函数的浏览器,你可以使用 detachEvent() 方法来移除由 attachEvent() 方法添加的事件句柄

    1. 在DOM0事件中,
      var btn1=document.getElementById(“button”);
      btn1.onclick=function(){};    添加事件
      btn1.onclick=null;  用null取消事件绑定
    2. 再一点,attachEvent()和detatchEvent()只有两个参数,ie就是冒泡;
      btn1.attachEvent(”onclick”,  function(){}),btn1由id获取
时间: 2024-10-03 14:42:05

dom添加事件总结的相关文章

dom添加事件

1.语法:document.getElementById('btn').addEventListener 2.可以添加多个EventListener,且不会覆盖 3.移除EventListener, document.getElementById('btd').removeEventListener("click",functionName); 事件处理: 1.级处理html直接添加 Onclick事件 2.dom0级处理,通过getElementbyId('id').onclick

Vue(基础五)_vue中用ref和给dom添加事件的特殊情况

一.前言 这篇文章涉及的主要内容有: 1.ref绑定在标签上是获取DOM对象 2.ref绑定在子组件上获取的是子组件对象 3.案列:自动获取input焦点 二.主要内容 1.基础内容: ref 被用来给元素或子组件注册引用信息.引用信息将会注册在父组件的 $refs对象上.如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素:如果用在子组件上,引用就指向组件实例 (1)将ref绑定到标签上:测试之后发现在mounted()函数之后拿到的是button对象 <!DOCTYPE html>

给DOM元素添加事件

今天遇到一个问题:鼠标单击页面中的任意标签,弹出该标签的名称. 实现代码如下: <script type="text/javascript"> document.onclick = function(e){ var e = (e||event); var o = e["target"] || e["srcElement"]; alert(o.tagName.toLowerCase()); } </script> 即创建了一

深入理解js Dom事件机制(二)——添加事件处理程序

深入理解js Dom事件机制(一)--事件流 事件就是当用户或者浏览器自身执行的某种动作,诸如 click.mouseover等都是事件的名称,那响应个事件的函数就称为事件处理程序(事件处理函数.事件句柄). 事件处理程序的名字都是以on+事件名称命名,比如 click事件的事件处理程序就是onclick, 为某个事件指定事件处理程序的方式大致分为三种. 1.HTML事件处理程序 这个很简单,大家基本初学js的时候都应该用过,就不再赘述,直接看实例代码 <!DOCTYPE html> <

整理之DOM事件阶段、冒泡与捕获、事件委托、ie事件和dom模型事件、鼠标事件

整理之DOM事件阶段 本文主要解决的问题: 事件流 DOM事件流的三个阶段 先理解流的概念 在现今的JavaScript中随处可见.比如说React中的单向数据流,Node中的流,又或是今天本文所讲的DOM事件流.都是流的一种生动体现.用术语说流是对输入输出设备的抽象.以程序的角度说,流是具有方向的数据. 事件流分事件冒泡与事件捕获 在浏览器发展的过程中,开发团队遇到了一个问题.那就是页面中的哪一部分拥有特定的事件? 可以想象画在一张纸上的一组同心圆,如果你把手指放在圆心上,那么你的手指指向的其

jacascript DOM变动事件

DOM变动事件 变动事件(MutationEvent)能在DOM中的某一部分发生变化时给出提示,这类事件非常有用,但都只能使用 DOM2 级事件处理程序,且由于浏览器兼容性不好,所以用的不广泛: 删除节点变动 删除节点时,涉及到 DOMNodeRemoved.DOMNodeRemovedFromDocument 和 DOMSubtreeModified 这三个事件:事件触发的先后顺序是 DOMNodeRemoved 事件.DOMNodeRemovedFromDocument 事件和 DOMSub

添加事件绑定程序

最近一段时间都在看有关的一些技巧和教程,于是就摘抄了下来,很多都忘记出自于哪里了,要是哪位大神有见到不妥的地方,请联系我 1 /*oTarget:绑定对象目标 2 sEventType:事件类型,如onclick.onmouseover等 3 fnHandler:事件处理函数 4 */ 5 function AddEventListener(oTarget,sEventType,fnHandler){ 6 if(oTarget.addEventListener){ //兼容DOM 7 oTarg

通过原生JS实现为元素添加事件

自己写了一个为元素添加事件的方法,并封装到对象中. 说明: id : 目标元素的ID type: 事件的类型,注意的是不能加on fn:事件处理程序 isBubble :规定事件流 代码: var bindEvent = { 'add':function(id,type,fn,isBubble){ var dom = document.getElementById(id); if(!isBubble) isBubble=false; if(dom.addEventListenner){ dom.

js 添加事件 attachEvent 和 addEventListener 的用法

一般我们在JS中添加事件,是这样子的 obj.onclick=method 这种绑定事件的方式,兼容主流浏览器,但如果一个元素上添加多次同一事件呢? obj.onclick=method1; obj.onclick=method2; obj.onclick=method3; 如果这样写,那么只有最后绑定的事件,这里是method3会被执行,这个时候我们就不能用onclick这样的写法了,主角改登场了,在IE中我们可以使用attachEvent方法 //object.attachEvent(eve