1:onmouseover解决兼容的方法:
var from=oEvent.fromElement || oEvent.relatedTarget;
if(this.contains(from)) return;
2:onpropertychange:
当属性改变的时候-->低版本ie不可用
oninput:当输入的时候
同样低版本ie不好使
涉及的例子:实时统计数字
oninput=onpropertychange=function-->不兼容IE9,因此需要用定时器解决
if(window.navigator.userAgent.indexOf('MSIE 9.0')!=-1){
oT.onfocus=function(){
timer=setInterval(function(){
oSp.innerHTML=oT.value.length;
},100);
};
oT.onblur=function(){
clearInterval(timer);
};
}else{
oT.oninput=oT.onpropertychange=function(){
oSp.innerHTML=this.value.length;
document.title=this.value.length;
};
}
3:domready:
与window.onload的区别:
window.onload:当页面加载完成之后-->(html,css,js,img)
domready:Dom加载完成的时候-->(html)
DOMContentLoaded 必须事件绑定!但是用事件绑定时attachEvent()在低版本不好使,需要用低版本自带的属性 onreadystatechange
onreadystatechange 监控资源情况
code:
function domReady(fn){
if(document.addEventListener){
document.addEventListener('DOMContentLoaded',function(){
fn&&fn();//处理事情
},false);
}else{
document.onreadystatechange=function(){
if(document.readyState=='complete'){
fn&&fn();//处理事情
}
};
}
}