事件对象的兼容问题
事件event兼容写法:event = event || window.event; (ie的为Window.event)
事件目标:target = event.target|| event.srcElement; (ie的为event.srcElement)
取消默认行为:
function(event){ if(event.preventDefalut){ event.preventDefault(); }else{ event.returnValue = false; } }
阻止冒泡:cancalBubble属性取消ie的事件冒泡,IE不支持事件捕获。而stopPropagation()为取消事件捕获和冒泡
function(event){ if(event.preventDefalut){ event.stopPropagation(); }else{ event.cancelBubble = true; } }
事件处理程序的兼容问题
DOM2级事件处理程序:添加addEventListener()及移除removeEventListener();三个参数element,addEventListener("click",funcition, false/true), "click"为事件类型,function为函数或者函数名,false为在冒泡阶段调用事件处理程序,true为捕获阶段。需要调用移除时removeEventListener需要addEventListener的function必须为函数名
IE事件处理程序:添加attachEvent("onclick",function) 没有false/true由于IE8及更早的版本只支持事件冒泡。 移除是datachEvent("onlick",function) function为函数名,匿名函数不能移除。