javascript实现禁止鼠标滚轮事件

javascript实现禁⽌⿏标滚轮事件
平时我们兼容什么东西总是在调整低版本IE的兼容性,但是这回不是因为低版本浏览器不给⼒。⽽是因为⽕狐给⼒过头了,完全不顾其它浏览器的感受标新⽴异了。除了⽕狐之外,所有的浏览器都可以使⽤MouseWheel事件来处理⿏标滚轮的响应。但是⽕狐却偏偏不⽀持MouseWheel,⽽使⽤⽆厘头的DOMMouseScroll,这玩意⼉除了⽕狐以外其它浏览器都不兼容。也就是说,对于⿏标滚轮事件的处理,⽕狐只能使⽤DOMMouseScroll。⽽⾮⽕狐则只能使⽤MouseWheel。这两种事件实现的原理不同,他们处理的数据也不同。
var firefox = navigator.userAgent.indexOf('Firefox') != -1;
firefox ? img.addEventListener('DOMMouseScroll', MouseWheel, false) :
(usewheel = MouseWheel);
function MouseWheel(e) {
e = e || window.event;
if (e.stopPropagation) e.stopPropagation();
else e.cancelBubble = true;
if (e.preventDefault) e.preventDefault();
urnValue = false;
}
我们来看个完整的代码
<!DOCTYPE html>
www.3x6c<style>
span {font:14px/20px 微软雅⿊;}
#counter {
width:50px;height:20px;
border:1px solid #CCC;
输电线路监测
background:#F9F9F9;
font:14px/20px Consolas;
三维人体扫描text-align:center;ofp002
margin:10px;
}
</style>
<span>使⽤⿏标滚轮调整数值⼤⼩</span><br/>
<div id="counter">0</div>
<script>
无碳小车
//判断浏览器
var isIE=navigator.userAgent.match(/MSIE (\d)/i);
isIE=isIE?isIE[1]:undefined;
var isFF=/st(navigator.userAgent);
钢丝绳滑轮//获取元素
var ElementById("counter");
//⿏标滚轮事件
if(isIE<9) //传统浏览器使⽤MouseWheel事件
counter.attachEvent("onmousewheel",function(){
//计算⿏标滚轮滚动的距离
//⼀格3⾏,每⾏40像素,所以除以120
var v=event.wheelDelta/120;
counter.innerHTML=counter.innerHTML*1+v;
/
/阻⽌浏览器默认⽅法
return false;
});
else if(!isFF) //除⽕狐外的现代浏览器也使⽤MouseWheel事件
counter.addEventListener("mousewheel",function(e){
//计算⿏标滚轮滚动的距离
var v=e.wheelDelta/120;
counter.innerHTML=counter.innerHTML*1+v;
//阻⽌浏览器默认⽅法
e.preventDefault();
},false);
else //奇葩的⽕狐使⽤DOMMouseScroll事件
counter.addEventListener("DOMMouseScroll",function(e){
//计算⿏标滚轮滚动的距离
//⼀格是3⾏,但是要注意,这⾥和像素不同的是它是负值
var v=-e.detail/3;
counter.innerHTML=counter.innerHTML*1+v;
//阻⽌浏览器默认⽅法
e.preventDefault();
},false);
</script>
以上所述就是本⽂的全部内容了,希望⼤家能够喜欢。

本文发布于:2024-09-22 09:41:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/287091.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:浏览器   滚轮   事件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议