-
事件是文档或浏览器窗口中发生的特定的交互瞬间。【JavaScript <------>HTML】 事件流:描述的是从页面中接受事件的顺序 (IE:事件冒泡流 / Netscape事件捕获流) 事件冒泡流:即事件最开始由最具体的无素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到最不具体的那个节点(文档) input----->document查看全部
-
总结: 1、DOM0级和DOM2级的共同优点: 能添加多个事件处理程序,按顺序执行,HTML事件处理程序无法做到~ 2、关于dom0级和dom2级的区别 DOM0级事件处理:同时绑定几个不同的事件,例如在绑定onclick的基础上再绑定一个onmouseover为按钮2设置背景颜色(这里注意不能onclick、onmouseover事件都设为alert弹出哦,可能有冲突,dom0和dom2都不能成功);但是不能同时绑定多个相同的事件,比如onclick;会覆盖,只会执行最后一个的函数; DOM2级事件处理:优点:同时绑定几个事件(相同或不同),然后顺序执行,不会覆盖。缺点:不具有跨浏览器优势。查看全部
-
IE中的事件对象event使用<br />通过event=event || window.event可以兼容IE8之前的事件对象,查看全部
-
阻止冒泡以及阻止事件默认行为查看全部
-
兼容IE的添加事件程序需要添加On查看全部
-
鼠标的位置: x坐标 event.clientX y坐标 event.clientY 元素的宽高: 宽 element.offsetWidth 高 element.offsetHeight 浏览器文档范围的宽高: var winWidth = document.documentElement.clientWidth || document.body.clientWidth; var winHeight = document.documentElement.clientHeight || document.body.clientHeight;查看全部
-
事件对象总结 1.DOM中的事件对象 event.stopPropagation();//阻止事件冒泡 (相当于Android中的拦截) event.preventDefalt();//阻止默认行为(例如:阻止a标签的href跳转) 2.IE中的事件对象 cancelBubble属性 用于阻止/取消事件冒泡 设置为true表示阻止冒泡 设置为false表示不阻止冒泡 returnValue属性 用于阻止事件的默认行为 设置为false表示阻止事件的默认行为 注意:IE8之前获取event是window.event 兼容性写法: var eventUtil = { getEvent:function(event){ //或event=event||window.event; 非IE:event,IE:window.event return event?event:window.event; }, getType:function(event){ return event.type; //非IE与IE相同 }, getElementName:function(event){ //非IE:event.target,IE:event.srcElement return event.target || event.srcElement; }, preventDefault:function(event){ //判断对象方法是否存在时,要将方法当做属性来判断 if(event.preventDefault){ event.preventDefault(); //非IE方法处理 }else{ event.returnValue=false; //IE方法处理 } }, stopPropagation:function(event){ if(event.stopPropagation){ event.stopPropagation(); //非IE方法处理 }else{ event.cancelBubble=true; //IE方法处理 } } }查看全部
-
事件处理总结二 4.IE事件处理程序 attachEvent()添加事件 detachEvent()删除事件 去掉了布尔值,不使用第三个参数的原因:IE8以及更早的浏览器版本只支持事件冒泡! 注:在ie下给btn3添加事件又要把on加上 btn3.detachEvent('onclick',showMes); 支持ie事件处理程序的浏览器主要有ie和opera两个浏览器。 5.DOM 2级和IE事件处理程序的兼容性写法 var eventUtil = { addHandler:function(element,type,handler){ if(element.addEventListener){// DOM2级事件处理程序 element.addEventListener(type,handler,false); } else if(element.attachEvent){// IE事件处理程序 element.attachEvent('on'+type,handler); } else{ // DOM0级事件处理程序 element['on'+type]=handler; } }, removeHandler:function(element,type,handler){ if(element.removeEventListener){ element.removeEventListener(type,handler,false); } else if(element.detachEvent){ element.detachEvent('on'+type,handler); } else{ element['on'+type]=null; } } } eventUtil.addHandler(btn3,'click',showMessage);查看全部
-
事件处理程序总结一 1.HTML事件处理程序 事件直接加在HTML代码中 <button onclick="click()"></button> 缺点:HTML和js代码高耦合,修改麻烦。 2.DOM 0级事件处理程序(用得比较多) 它是一种较传统的方式:把一个函数赋值给一个事件处理程序的属性。 var btn=document.getElementById("btn"); btn.onclick=function(){alert('这是通过DOM0级添加的事件!')}----让事件以对象的属性的形式出现。 btn.onclick=null;-----删除onclick属性。 优点:简单,跨浏览器 3.DOM 2级事件处理程序 addEventListener()添加事件监听程序 removeEventListener()移除事件监听程序 三个参数设置;事件名称,处理方法(函数),布尔值--false:表示在冒泡阶段调用事件处理程序(可以最大限度的兼容浏览器),一般设为false;true表示在捕获阶段调用事件处理程序 btn3.addEventListener('click',showMes,false); 注意: 1、若事件名称有on,则需去掉on。onclick --> click,onmouseover --> mouseover等等; 2、false 最大限度兼容所有浏览器--事件冒泡流。 3.通过addEventListener添加的事件只能通过removeEventListener来删除。 btn3.removeEventListener(参数);//参数必须和btn.addEventListener的参数一致 DOM0级和DOM2级事件处理程序可以给一个事件绑定多个函数,事件触发的时候会按照绑定顺序执行各个函数。如下所示: btn3.addEventListener('click',showMes,false); btn3.addEventListener('click',showMes,function(){alert(this.value);},false); 缺点:IE不支持该事件查看全部
-
js中所有用'.'的地方都可以使用'[]' 如:对象的点击事件element.onclick===element['onclick']查看全部
-
JS中链接属性所有用" . "的地方都可以用"[ ]"代替查看全部
-
DOM2级事件和IE事件的区别查看全部
-
各个事件处理程序查看全部
-
各种事件处理程序查看全部
-
DOM0级 DOM2级事件处理在IE不起作用,IE需要使用IE的事件处理查看全部
举报
0/150
提交
取消