一般来说,可以直接封装成这种形式: var addEvent = function(element,type,handler){ if(element.addEventListener...){ //DOM2级 element.addEventListener(type,handler,false); //false为冒泡,true为捕获...的使用方式:主要是DOM2级 target.addEventListener(type, listener, useCapture); target就是要注册事件的对象 type就是事件类型 比如“click...var btn1Obj = document.getElementByIdx("btn1"); //element.addEventListener(type,listener,useCapture)...; btn1Obj.addEventListener("click",method1,false); btn1Obj.addEventListener("click",method2,false); btn1Obj.addEventListener
background: black; } /*addEventListener...("load",function() { alert(1); },false); addEventListener("load",function() { alert...*/ /*function show() { alert(1); div1.removeEventListener("click",show); } div1.addEventListener
("demo").innerHTML = "Hello World"; }); 1 2 3 定义和用法 addEventListener() 方法用于向指定元素添加事件句柄。...提示: 使用 removeEventListener() 方法来移除 addEventListener() 方法添加的事件句柄。...语法 element.addEventListener(event, function, useCapture) 1 参数值 event 必须。字符串,指定事件名。...( , 和 ) hashchange 该事件在当前 URL 的锚部分发生修改时触发。 load 一张页面或一幅图像完成加载。...( 和 ) 表单事件 blur 元素失去焦点时触发 change 该事件在表单元素的内容改变时触发( , , , 和 ) focus 元素获取焦点时触发 focusin 元素即将获取焦点是触发
另有js事件详解 点击打开链接 一.addEventListener()和removeEventListener()讲解 addEventListener()与removeEventListener...()用于处理指定和删除事件处理程序操作。...这也意味着通过addEventListener()添加的匿名函数无法移除 错误用法示例: document.body.addEventListener('touchmove', function...('touchmove',bodyScroll,false); 重写后的这个例子在addEventListener()和removeEventListener()中用的是相同的函数。...");},false); inner.addEventListener('click',function(){alert("我是最里面的");},true); addEventListener
在 window 上添加 addEventListener('error') 事件 同样会阻止默认事件处理函数的执行,即该错误代码的下一行不会执行; 监听 js 运行时错误事件,会比window.onerror...但可以全局捕获资源加载异常的错误; 控制台会通过 console.error 方式打印出错误信息; 事件回调函数传参只有一个保存所有错误信息的参数,如下: // 可以捕获资源加载异常 window.addEventListener
Mozilla中: addEventListener的使用方式: target.addEventListener(type, listener, useCapture); target: 文档节点...; btn1Obj.addEventListener("click",method1,false); btn1Obj.addEventListener("click",method2,false);...) if (typeof window.addEventListener !...”,rollover) } 上述的 typeof window.addEventListener !...= “undefined” 程序代码可以判断使用者的浏览器是否支持AddEventListener这个事件模型, 如果不支持就使用attachEvent.
window.onload = function(){ var p = document.getElementById("content"); if(document.addEventListener...) p.addEventListener("click",function(){ alert("p点击了"); },false); else p.attachEvent("onclick...",function(){ alert("p点击了"); }); Jetbrains全家桶1年46,售后保障稳定 addEventListener绑定事件,但是只在ie 9以上版本才有用...,以下版本不可用,ie9以下版本用attachEvent: 1)addEventListener有三个参数,第一个为type,代表事件名称,第二个为handler,为事件处理甘薯,第三个为capture...2)attachEvent只有两个参数,第一个为“on”+type,即第一点中addEventListener第一个参数为click,则attachEvent的参数为onclick加上on,第二个参数为
在元素上写事件和addEventListener()的区别 onclick添加事件不能绑定多个事件,后面绑定的会覆盖前面的。而addEventListener能添加多个事件绑定,按顺序执行。...onclick只能冒泡,addEventListener()可以得到捕获or冒泡。 addEventListener方式,不支持低版本的IE。(attachEvent 支持IE)。...addEventListener绑定后则可以用 removeEvenListener 取消。 addEventListener 是W3C DOM 规范中提供的注册事件监听器的方法。...addEventListener用法: 语法: element.addEventListener( type , listener , useCapture ) – – 添加事件监听 – – type...addEventListener兼容写法: IE9之前浏览器使用element.attachEvent(type, callback) attachEvent(type, callback) type:
addEventListener() 方法,事件监听 你可以使用 removeEventListener() 方法来移除事件的监听。...语法 element.addEventListener(event, function, useCapture); 第一个参数是事件的类型 (如 “click” 或 “mousedown”)....你可以使用函数名,来引用外部函数: element.addEventListener("click", function(){ alert("Hello World!")...addEventListener() 方法可以指定 “useCapture” 参数来设置传递类型: addEventListener( event, function, useCapture...() 和 removeEventListener() 方法。
js-addEventListener()第三个参数useCapture 概述: 第3个参数叫做useCapture,是一个boolean值,就是true or false 。...document.getElementById('div2' ), oDvi3 = document.getElementById('div3' ); // 123- > 456- > 345 oDvi1.addEventListener...('click',xx1,true ); oDvi2.addEventListener( 'click',xx2,false ); oDvi3.addEventListener( 'click',xx3
具体的事件分析可查看另一篇文章 结论: 1.onclick事件在同一时间只能指向唯一对象 2.addEventListener给一个事件注册多个listener 3.addEventListener对任何...对于多个相同的事件处理器,不会重复触发,不需要手动使用removeEventListener清除 5.IE9使用attachEvent和detachEvent 探究: onclick添加事件: element.onclick...对于IE9之前,相对应的是attachEvent和detachEvent 总结: 1.onclick事件在同一时间只能指向唯一对象 2.addEventListener给一个事件注册多个listener...3.addEventListener对任何DOM都是有效的,而onclick仅限于HTML 4.addEventListener可以控制listener的触发阶段,(捕获/冒泡)。...对于多个相同的事件处理器,不会重复触发,不需要手动使用removeEventListener清除 5.IE9使用attachEvent和detachEvent 参考文献: https://developer.mozilla.org
语法 element.addEventListener(event, function, useCapture); 第一个参数是事件的类型 (如 "click" 或 "mousedown")....你可以使用函数名,来引用外部函数: element.addEventListener("click", function(){ alert("Hello World!")...; }); element.addEventListener("click", myFunction); function myFunction() { alert ("Hello World...addEventListener() 方法可以指定 "useCapture" 参数来设置传递类型: addEventListener(event, function, useCapture); 默认值为...() 和 removeEventListener() 方法。
结论 element.addEventListener(event, function[, useCapture]) event:事件名称,如click function:指定要事件触发时执行的函数,可以传入事件参数...id="cc">cc function print(e){ console.log(this.id); } aa.addEventListener...('click',print);//第三个参数默认为false bb.addEventListener('click',print); cc.addEventListener('click'...('click',print,true);//第三个参数默认为false bb.addEventListener('click',print,true); cc.addEventListener...('click',print,true);//第三个参数默认为false bb.addEventListener('click',print,true); cc.addEventListener
此时,就需要使用addEventListener的方式来添加事件。...("input")[0]; bt.addEventListener("click", function(){ alert(1) }) bt.addEventListener("click",...那么捕获和冒泡又是什么呢?...捕获和冒泡会影响到事件的执行顺序 var a = document.getElementById("a"); var b = document.getElementById("b"); var c =...或者是前面提到的return false 对于IE下的事件绑定 适用与IE6,7,8 IE的事件与模型与W3C的标准事件相比,主要是以下三点不同: 绑定事件的函数不同,IE中使用attachEvent()和detachEvent
特性说明和原理图: 标准浏览器和Ie9+浏览器都支持事件的冒泡和捕获,而IE8-浏览器只支持冒泡 标准和Ie9+浏览器用stopPropagation()或cancelBubble阻止事件传播,而ie8...stopPropagatin()方法用于阻止事件的传播,如果设置在捕获阶段,则目标和冒泡阶段不会被执行; cancelBubble属性只能阻止冒泡阶段,对捕获和目标阶段的事件不能阻止 preventDefault...()和window.event.returnValue用于标准浏览器和ie9+,都可以阻止默认事件。...-"); setBorderColor($body,'#0866ff ',0,event); },true); $wrap[0].addEventListener...}); }); 实现一个完整的event流的Demo 在cont的捕获事件处有阻止事件传播的代码 阻止默认事件只用于验证 应用场景 捕获阶段的事件应用场景较少,一般情况下都应用在目标和冒泡阶段
一、addEventListener()方法 addEventListener()方法将事件处理程序附加到指定的元素。 可以重写随机颜色,如下所示: 例: addEventListener()方法附加到按钮上。addEventListener()接受两个必填参数-要监听的事件和监听器回调函数。 1....将事件监听添加到Window对象 此外,可以addEventListener()在文档和窗口对象上使用。...本示例使用以下addEventListener()方法将click事件附加到文档: document.addEventListener("click", function() { alert("Hello...当前,事件监听是处理JavaScript中事件的最常见和首选方式。
事件对象 含义 当事件触发的时候 ,会产生对象,记录一些事件和有关信息 获取 事件处理函数中,形参就是事件对象 document.addEventListener('click' , function(...: 鼠标经过事件: mouseover 和 mouseout 会有冒泡效果 mouseenter 和 mouseleave 没有冒泡效果 (推荐) 事件捕获 概念: 从DOM的根元素开始去执行对应的事件...('DOMContentLoaded' , function() { }) 元素大小和位置 scroll 家族 scrollWidth 和scrollHeight...(只读) 获取元素的真实宽高、包含元素自身设置的宽高、padding、border offsetLeft 和 offsetTop(只读) 获取元素距离自己定位父级的左、上距离 offsetTop和offsetLeft...和clientTop (只读) 获取左边框和上边框宽度 resize 事件 会在窗口尺寸改变的时候触发事件 // resize事件 : 当浏览器大小发生改变的时候会触发该事件 ==> 可以用于获取页面可视区大小
有传统方式和方法监听方式 传统方式 利用 on 开头的事件,如 onclick, 同一个元素同一个事件只能设置一个处理函数,出现多个处理函数的话,后面的会覆盖前面的。...(未找到合适案例) 参数是匿名函数和是箭头函数区别: 它们绑定不同的 this 对象。...匿名函数和传统方式一样会创建独有的 this 对象(即触发事件的元素),而箭头函数是继承绑定它所在函数的 this 对象。...如 onclick、onmouseover,要带 on callback: 事件处理函数,事件发生会调用该回调函数 IE9 之前的 IE 不支持,对应有 attachEvent(),用法和 addEventListener...e = e || window.event; 事件对象的常见属性和方法 e.target 和 this 的区别: this 是事件绑定的元素(匿名函数形式),函数的调用者。
3、DOM2事件处理程序 3.1简介 DOM2事件处理程序可以解决不能绑定多个事件处理函数的问题 DOM2级事件定义了两个方法用于处理指定和删除事件处理程序的操作: addEventListener removeEventListener...('click', function() { alert(this.id); }, false); 总结:addEventListener 和制定事件处理程序的不同...2、event的常见属性 event对象包含与创建它的特定事件有关的属性和方法,触发事件的类型不同,可用的属性和方法也不同,但是所有事件都会包含 ?...当存在嵌套的时候,两者不一样,具体详情可以见这篇文章链接描述,或者中文版event.target 和 event.currentTarget。...五、阻止事件代理 哈哈哈写事件代理前,找到了这篇事件代理的文章用例子解释事件模型和事件代理,这里写事件模型的历史也写得相当棒,所以先就转载过来了。
事件一般是用于浏览器和用户操作之间的交互,当用户执行某些特殊的操作时,浏览器给予反应,触发绑定的事件,事件流,事件发生时会在元素节点和根节点之间按照约定的顺序传播,事件经过的所有节点都会受到事件的影响,...这个传播过程被称为DOM事件流 函数事件 事件一般是用于浏览器和用户操作之间的交互,当用户执行某些特殊的操作时,浏览器给予反应,触发绑定的事件 事件流,事件发生时会在元素节点和根节点之间按照约定的顺序传播...(),如果加了参数()则表示立即执行,不需要触发第一个参数要求的条件 2.在这里绑定事件的时候,事件名不能和定义的变量名一样,否则无效 2.removeEventListener()--移除事件监听函数...3.利用事件的捕获和冒泡做点事情 addEventListener()和removeEventListener()其实拥有三个参数,刚才说过了,第一个表示触发条件,第二个表示触发事件,第三个参数正常情况下可以省略...代码的高度耦合问题 2.缺点:一个元素只能绑定一个事件处理函数,只会在事件冒泡中运行 DOM2级事件处理程序 该级别的事件处理程序,运用的就是事件捕获和冒泡机制 测试<
领取专属 10元无门槛券
手把手带您无忧上云