1 回答

TA貢獻2051條經驗 獲得超10個贊
火狐下面的滾動條滾動事件是:
obj.addEventListener('DOMMouseScroll',fnCallBack,false);
分享你一個封裝好的函數:
function addEvent(obj,sEv,fn){
if(obj.addEventListener){
obj.addEventListener(sEv,fn,false);
}else{
obj.attachEvent('on'+sEv,fn);
}
}
function addWheel(obj,fn){
function fnWheel(ev){
var oEvent=ev || event;
var bDown=false;
bDown=oEvent.wheelDelta?oEvent.wheelDelta<0:oEvent.detail>0;
fn && fn(oEvent,bDown);
oEvent.preventDefault && oEvent.preventDefault();
return false;
}
if(window.navigator.userAgent.indexOf('Firefox')!=-1){
obj.addEventListener('DOMMouseScroll',fnWheel,false);
}else{
addEvent(obj,'mousewheel',fnWheel);
}
}
使用也很簡單:
addWheel(obj,function(ev,down){
//TODO
})
jq中,我印象是默認沒有封裝滾輪的,要不你就找插件,要不就用原生吧。簡單、粗暴。
添加回答
舉報