您的位置:首页 > Web前端 > JavaScript

js鼠标滚轮事件兼容

2017-10-05 18:37 375 查看

问题:

滚轮事件

* onmousewheel

* 不兼容火狐

*

* DOMMouseScroll

* 只支持火狐

*

* e.wheelDelta;(120的倍数)

* 记录滚动事件的方向

* 负值是往后拉

* 正值就是往前推

* 不支持火狐

*

* e.detail;(3的倍数)

* 记录滚动事件的方向

* 负值是往后拉

* 正值就是往前推

* 只支持火狐

**

兼容

**

1.添加事件,IE与主流浏览器兼容

2.滚轮事件,火狐与其他浏览器兼容

3.滚轮方向,火狐与其他浏览器兼容

mousewheel(document,function (e,d) {
if(d>0){
box.innerHTML +="拉近"+d
}else{

box.innerHTML +="推开"+d
}
return false;//清除默认事件
});

function mousewheel(obj,fn) {
function eFn(e) {
e = e || window.event;

/*var d = -e.wheelDelta/120||e.detail/3;

fn.call(this,e,d)*/
if(fn.call(this,e,-e.wheelDelta/120||e.detail/3)===false)!-[1,]?e.returnValue=false:e.preventDefault();//清除默认事件,不支持return false

//alert(fn.call(this,e,-e.wheelDelta/120||e.detail/3)===false)

}
//document.onmousewheel===null,当为非火狐(IE,谷歌)为null
var eName = document.onmousewheel===null?"mousewheel":"DOMMouseScroll";
document.addEventListener?obj.addEventListener(eName,eFn):obj.attachEvent("on"+eName,eFn)

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: