-
键盘事件查看全部
-
事件对象总结查看全部
-
getEvent:function(event){ return event?event:window.event; }, getType:function(event){ return event.type; }, getElement:function(event){ return event.target || event.srcElement; }, preventDefault:function(event){ if(event.preventDefault){ event.preventDefault(); }else{ event.returnValue=false; } }, stopPropagation:function(event){ if(event.stopPropagation){ event.stopPropagation(); }else{ event.cancelBubble=true; } }查看全部
-
IE中的事件对象: 【type属性】用于获取事件类型 【srcElement属性】用于获取事件的目标(DOM中用的是target) 所以,可以使用 event=event window.event;(考虑IE8以前的版本) (如果传进来的参数写成e,那么这里应该是e=e || window.event) var ele=event.target event.srcElement;(考虑非IE与IE) 【cancelBubble属性】用于阻止事件冒泡,设为true表示阻止冒泡,false表示不阻止冒泡。 【returnValue属性】用于阻止事件的默认行为,设为false表示阻止。查看全部
-
事件对象event:在触发DOM上的事件时会产生一个对象 type属性,用于获取事件类型(如:点击,划过,键盘事件) target属性,用于获取事件目标(该事件来自于哪个元素) stopPropagation()方法,用于阻止事件冒泡(Propagation是传播的意思) preventDefault()方法,阻止事件的默认行为 比如<a href="#">超链接</a>的默认行为是跳转到指定页面查看全部
-
删除句柄查看全部
-
【跨浏览器事件处理--添加句柄】将添加事件addHandle与删除事件removeHandle两个方法封装在eventUtil中。 addHandle:function(element,type,handler) 第一个参数是给谁添加,第二个参数是添加什么,第三个参数是触发了什么操作 if(DOM2级),也就是判断是否支持element.addEventListener(addEventListener的第三个参数设为false表示添加在冒泡阶段) else if(IE),也就是判断是否支持element.attachEvent,第一个参数用'on'+type else(DOM0级) 【知识点1】很明显,添加"on"比去掉"on"更简单,所以比如点击事件的type应该为click,然后在需要用onclick的地方,使用'on'+type(如else if部分) 【知识点2】(else部分)我们平常使用element.onclick,但是这里不能用element.'on'+type(变量与字符串之间不能用点来连接),应该使用element['on'+type],其实在js中,连接属性的时候,所有用点的地方都可以使用中括号,也就是说element.onclick完全等价于element[onclick]查看全部
-
DOM0级事件处理程序使用简单,且具有跨浏览器的优势查看全部
-
这样会使HTMML代码和JS代码紧密的耦合在一起查看全部
-
了解事件冒泡和事件捕获的工作原理查看全部
-
IE事件处理程序: attachEvent()添加事件,detachEvent()删除事件。接收相同的两个参数:事件处理程序的名称和事件处理程序的函数(把布尔值去掉了,因为IE8以及更早的版本只支持事件冒泡,所以默认为添加到冒泡阶段) 【事件名称要加on】DOM2级不同的第一个参数要把on去掉,这里的第一个参数要把on加上,如onclick 支持IE事件处理程序的浏览器:IE和OPERA,别的不支持查看全部
-
DOM2级事件定义了两个方法,用于处理指定和删除事件处理程序的操作: addEventListener()和removeEventListener() 【接收三个参数】:要处理的事件名、作为事件处理程序的函数和布尔值。 其中,true表示在捕获阶段调用事件处理程序,false表示在冒泡阶段调用事件处理程序。一般设置为false,即添加到冒泡阶段,能兼容更多的浏览器。 与DOM0级事件类似,也是先通过id来取得一个对象,然后通过addEventListener来给它指定事件。【注意】这里的第一个参数要把on去掉,比如以前是用onclick现在必须用click 【删除一个事件】DOM0级中删除一个事件是把它置为null,DOM2级中是使用removeEventListener() 【可以添加多个事件】DOM0级和DOM2级都有一个共同的优点,可以给一个元素添加多个事件,或者多个事件处理程序。比如,可以添加onclick还可以添加onmouseover,或者是点击一次触发两个不同的程序,弹出两个对话框。 【this】引用被触发的元素 【DOM2级IE不适用】查看全部
-
DOM0级事件处理程序,是一种较传统的方式:把一个函数赋值给一个事件的处理程序属性。现在用得比较多,优势是简单且跨浏览器。 先把元素取出来,然后把事件作为元素的属性添加过去。比如上次编程挑战的参考答案里用到的,使用匿名函数来添加onclick方法。 如果想取消点击事件,将其设为null即可。查看全部
-
HTML事件处理:直接把事件加在html结构里的html元素上。(也就是之前学的onclick="showMessage()"的那种写法) 最大的缺点:html和js代码紧密耦合查看全部
-
事件捕获的思想是不太具体的节点应该更早接收到事件,而最具体的节点应该最后接收到事件。查看全部
举报
0/150
提交
取消