-
跨浏览器事件处理程序查看全部
-
1.IE事件处理程序:IE也提供了类似DOM2级事件处理程序 attachEvent()添加事件 detachEvent()删除事件 接收相同的两个参数,事件处理程序的名称和事件处理程序的函数。去掉了布尔值,不使用第三个参数的原因:IE8以及更早的浏览器版本只支持事件冒泡! 在ie下给btn3添加事件 btn3.attachEvent('onclick',showMes); 主意:在ie事件处理程序上,又要把on加上 btn3.detachEvent('onclick',showMes); 支持ie事件处理程序的浏览器主要有ie和opera两个浏览器。 2.跨浏览器事件处理程序 var eventUtil = { //添加句柄 addHandler:function(element,type,handler){ if(element.addEventListener){element.addEventListener(type,handler,false);} // DOM2级事件处理程序 else if(element.attachEvent){element.attachEvent('on'+type,handler);} // IE事件处理程序 else{element['on'+type]=handler;} // DOM0级事件处理程序 }, //删除句柄 removeHandler:function(element,type,handler){ if(element.removeEventListener){element.removeEventListener(type,handler,false);} // DOM2级事件处理程序 else if(element.detachEvent){element.detachEvent('on'+type,handler);} // IE事件处理程序 else{element['on'+type]=null;} //DOM0级事件处理程序 } } eventUtil.addHandler(btn3,'click',showMessage); 3.js中所有用'.'的地方都可以使用'[]' 如:对象的点击事件element.onclick===element['onclick']查看全部
-
IE11已经不支持attachEvent这个方法了,变成了和chorme统一的addEventListener方法。查看全部
-
本章内容 1、理解事件流 2、使用事件处理程序 3、不同的事件类型 一、事件流 事件流描述的是从页面中接受事件的顺序。 IE的事件流是事件冒泡流,而Netscape的事件流是事件捕获流 1、事件冒泡 事件冒泡,即事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上转播至最不具体的节点(文档)。 2、事件捕获 事件捕获的思想是不太具体的节点应该更早接收到事件,而最具体的节点最后接收到事件。 二、事件处理程序 1、HTML事件处理程序 2、DOM0级事件处理程序 3、DOM2级事件处理程序 DOM2级事件定义了两个方法:用于处理指定和删除事件处理程序的操作:addEventListener()和removeEventListener()。它们都接收三个参数:要处理的事件名、作为事件处理程序的函数和一个布尔值。 4、IE事件处理程序 attachEvent()添加事件 detachEvent()删除事件 这两个方法接收相同的两个参数:事件处理程序名称与事件处理函数 5、跨浏览器的事件处理程序 三、事件对象 事件对象event 1、DOM中的事件对象 (1)、type:获取事件类型 (2)、target:事件目标 (3)、stopPropagation() 阻止事件冒泡 (4)、preventDefault() 阻止事件的默认行为 2、IE中的事件对象 (1)、type:获取事件类型 (2)、srcElement:事件目标 (3)、cancelBubble=true阻止事件冒泡 (4)、returnValue=false阻止事件的默认行为查看全部
-
//封装一个getByClass的方法 function getByClass(clsName,parent){ var oParent=parent?document.getElementById(parent):document, eles=[], elements=oParent.getElementsByTagName('*'); for(var i=0,l=elements.length;i<l;i++){ if(elements[i].className==clsName){ eles.push(elements[i]); } } return eles; } //onload flag函数会在页面或图像加载完成后立即发生 window.onload=drag; push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度 clientX clientY document.getElementsByClassName() IE10以前的浏览器不支持查看全部
-
1、任何能够跟着鼠标移动的东西 都要有一个前提:绝对定位 2、鼠标事件都是在浏览器窗口中的特定位置上发生的。这个位置信息保存在事件的clientX和clientY属性中。所有浏览器都支持这两个属性,它们的值表示事件发生时鼠标指针在视口中的水平和垂直坐标。不包括页面滚动的距离。 3、js ie10以下版本不支持document.getElementsByClassName 4、js封装getClass方法,获取class 5、实现随鼠标拖动,需要让窗口的坐标随着鼠标移动,鼠标的坐标保存在时间的clientX和clientY两个属性中。 6、onmousedown鼠标按下 窗口和鼠标的位置同步; element.style.left/top=clientX/Y+'px'; onmousemove当鼠标指针在元素内部移动时重复地触发查看全部
-
键盘事件查看全部
-
跟参考答案对了一遍代码,完全没问题,但就是运行不出来。然后开始一个字母一个字母的对,结果发现少了window.onload=function(){}右半个花括号 =_=查看全部
-
a.type属性 用于获取事件类型 b.srcElement属性 用于获取事件目标 c.cancelBubble属性 用于阻止/取消事件冒泡 设置为true表示阻止冒泡 设置为false表示不阻止冒泡 d.returnValue属性 用于阻止事件的默认行为 设置为false表示阻止事件的默认行为 getEvent:function(event){ return event?event:window.event;//或event=eventwindow.event; 非IE:event,IE:window.event }, getType:function(event){ return event.type; //非IE与IE相同 }, getElement:function(event){ return event.target event.srcElement; //非IE:event.target,IE:event.srcElement }, preventDefault:function(event){ if(event.preventDefault){//判断对象方法是否存在时,要将方法当做属性来判断[函数名后不加小括号:if(对象.方法函数)],很多方法没有返回值,即使有返回值也不一定是布尔值,如果是if(方法函数())时会出现不可预料的结果 event.preventDefault(); //非IE方法处理 }else{ event.returnValue=false; //IE方法处理 } }, stopPropagation:function(event){ if(event.stopPropagation){ //event.stopPropagation:以属性的形式进行判断 event.stopPropagation(); //非IE方法处理 }else{ event.cancelBubble=true; //IE方法处理 } }查看全部
-
事件流:事件冒泡流:最开始由最具体的元素(文档中嵌套层次最深的那个节点)接受,逐级向上传播至最不具体的节点(文档)。查看全部
-
什么是事件对象?在触发DOM上的事件时都会产生一个对象<br> 事件对象EVENT<br> ①DOM中的事件对象 属性<br> (1)、type属性用于获取事件类型<br> (2)、target属性用于获取事件目标<br> (3)、stopPropagation()方法 用于阻止事件冒泡<br> (4)、preventDefault() 方法 阻止事件的默认行为<br> 如果一个div里面有一个button,button和div都绑定了click事件,如果是事件冒泡,那么点击button的时候,首先触发button的处理函数,然后触发div的处理函数。(由内而外)<br> 如果有时候不想冒泡,也就是不希望div的事件被触发,那么需要阻止事件冒泡。stopPropagation()方法<br> 如果需要阻止a标签的默认属性跳转,可以使用阻止事件的默认行为preventDefault()方法<br> <br> IE8以下事件对象(window.event)<br> 1.事件类型:event.type<br> 2.事件目标:event.srcElement<br> 3.阻止事件冒泡:event.cancelBubble = true<br> 4.阻止默认事件:event.returnValue = false查看全部
-
兼容性无函数封装查看全部
-
键盘事件查看全部
-
IE中的事件对象<br> (1)type属性: 用于获取事件类型<br> (2)srcElement属性: 用于获取事件的目标 (3)cancelBubble属性:阻止事件冒泡(true表示阻止事件冒泡,false表示不阻止冒泡) (4)returnValue属性: 阻止事件的默认行为(false 表示阻止事件的默认行为)查看全部
-
事件对象 DOM中的事件对象 1、type属性 用于获取事件类型 2、target属性 用于获取事件目标 3、stopPropagation()方法 用于阻止事件冒泡 4、preventDefault()方法 阻止事件的默认行为查看全部
举报
0/150
提交
取消