chrome(ie)与firefox对滚轮事件的监听方式是不一样的,并且返回的数值正负也是正好相反的
/***********************
* 函数:注册某元素的滚轮事件
* 作者:psvmc
* 参数:事件源DOM Id , 回调方法(data)
* data: 1:向下 -1:向上
*************************/
function scrollEvent(domId, callbackFunc) {
var dom = document.getElementById(domId);
var scrollFunc = function(e) {
var direct = 0;
e = e || window.event;
if (e.wheelDelta) {//IE/Opera/Chrome
if (e.wheelDelta > 0) {
direct = -1;
} else {
direct = 1;
}
} else if (e.detail) {//Firefox
if (e.detail > 0) {
direct = 1;
} else {
direct = -1;
}
}
if (callbackFunc) {
callbackFunc(direct);
}
}
/*注册事件*/
if (dom.addEventListener) {
dom.addEventListener('DOMMouseScroll', scrollFunc, false);
}
dom.onmousewheel = scrollFunc;//IE/Opera/Chrome
}
例如页面上
<div style="width:600px;height:300px" id="target">
<label for="wheelDelta">滚动值:</label>
<input type="text" id="wheelDelta" />
</div>
使用方式
<script type="text/javascript">
scrollEvent("target", function(data) {
if (data == 1) {
document.getElementById("wheelDelta").value = "向下";
} else {
document.getElementById("wheelDelta").value = "向上";
}
});
</script>
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有