1.jQuery事件绑定的时候,一定要小心多次绑定和重复绑定。
2.关于IE中image的onload事件失效解决问题,IE会从缓存里获取地址,如果存在的地址就会很快加载完,onload事件就会触发在绑定前。
解决办法,先绑定事件再传地址:
var i = new Image();
i.onload = function(){ }
i.src = url;
3.滚轮事件:
IE/Opera属于同一类型,使用attachEvent即可添加滚轮事件。
/*IE注册事件*/ if(document.attachEvent){ document.attachEvent(‘onmousewheel‘,scrollFunc); }
Firefox使用addEventListener添加滚轮事件
/*Firefox注册事件*/ if(document.addEventListener){ document.addEventListener(‘DOMMouseScroll‘,scrollFunc,false); }
Safari与Chrome属于同一类型,可使用HTML DOM方式添加事件
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome
其中除Firefox外其余均可使用HTML DOM方式添加事件,因此添加事件使用以下方式
/*注册事件*/ if(document.addEventListener){ document.addEventListener(‘DOMMouseScroll‘,scrollFunc,false); }//W3C window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome
detail与wheelDelta
判断滚轮向上或向下在浏览器中也要考虑兼容性,现在五大浏览器(IE、Opera、 Safari、Firefox、Chrome)中Firefox 使用detail,其余四类使用wheelDelta;两者只在取值上不一致,代表含义一致,detail与wheelDelta只各取两个值。 //wheelDelta -120是向下,120向上,detail 3是向下,-3向上
*************************/ var scrollFunc=function(e){ var direct=0; e=e || window.event; if(e.wheelDelta){//IE/Opera/Chrome } else if(e.detail){//Firefox } ScrollText(direct); } /*注册事件*/ if(document.addEventListener){ document.addEventListener(‘DOMMouseScroll‘,scrollFunc,false); }//W3C window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome/Safari </script>
时间: 2024-10-18 13:03:59