关于鼠标滚轮事件的禁止方法

当鼠标或者键盘触发某一事件时,在JavaScript中,我们可以为这个事件设置相应的动作。当然浏览器本身甚至是操作系统也会有对某一事件的默认动作,这样除了由于我们设置了自己定义句柄而产生的动作之外,还会有默认的动作发生。

通过事件属性取消默认动作

DOM的Event对象,通过其preventDefault()方法来取消默认动作。在IE下,则是将event的returnValue属性设置为false来阻止浏览器执行与事件相关的默认动作。

为了保证阻止浏览器默认动作的发生,我们可以即通过事件句柄返回值来实现,又考虑事件属性。例如 下面代码,取消滚轮事件的默认动作。

functiondisabledMouseWheel() {
  if(document.addEventListener) {
    document.addEventListener('DOMMouseScroll', scrollFunc, false);
  }//W3C
  window.onmousewheel = document.onmousewheel = scrollFunc;//IE/Opera/Chrome
}
functionscrollFunc(evt) {
  evt = evt || window.event;
    if(evt.preventDefault) {
    // Firefox
      evt.preventDefault();
      evt.stopPropagation();
    } else{
      // IE
      evt.cancelBubble=true;
      evt.returnValue = false;
  }
  returnfalse;
}
window.onload=disabledMouseWheel;

在事件句柄中,除了完成自己定义的动作之外,想要阻止默认动作,可以在句柄最后加上阻止默认动作的语句就OK了。

时间: 2024-10-30 08:02:00

关于鼠标滚轮事件的禁止方法的相关文章

---------------------》请教鼠标滚轮事件的模拟方法《-------------------

问题描述 mouseWheel()只支持Y轴方向的移动.有没有更好的方法能够同时支持X轴和Y轴方向的滚动 解决方案 解决方案二:X轴用move()试试解决方案三:翻开jdk原代码,好好看看.解决方案四:看了半天文档还是没有找得到这类方法,求高人指点.

javascript实现禁止鼠标滚轮事件_javascript技巧

平时我们兼容什么东西总是在调整低版本IE的兼容性,但是这回不是因为低版本浏览器不给力.而是因为火狐给力过头了,完全不顾其它浏览器的感受标新立异了.除了火狐之外,所有的浏览器都可以使用MouseWheel事件来处理鼠标滚轮的响应.但是火狐却偏偏不支持MouseWheel,而使用无厘头的DOMMouseScroll,这玩意儿除了火狐以外其它浏览器都不兼容.也就是说,对于鼠标滚轮事件的处理,火狐只能使用DOMMouseScroll.而非火狐则只能使用MouseWheel.这两种事件实现的原理不同,他们

html中鼠标滚轮事件onmousewheel的处理方法_javascript技巧

滚轮事件是不同浏览器会有一点点区别,一个像Firefox使用DOMMouseScroll ,ff也可以使用addEventListener方法绑定DomMouseScroll事件,其他的浏览器滚轮事件使用mousewheel,下面我来给大家具体介绍. Firefox使用DOMMouseScroll,其他的浏览器使用mousewheel.滚动事件触发时Firefox使用detail属性捕捉滚轮信息,其他的浏览器使用wheelDelta.不知道为何在该问题上其他厂商和微软的如此一致.Firefox可

用HTML5实现鼠标滚轮事件放大缩小图片的功能

  你我都知道在HTML5网页中添加鼠标滚轮事件能够更好的让用户与网页进行交互操作.而在HTML5中,鼠标滚轮并不仅仅就只能上下滑动网页,实际上你还可以依靠这个完成更多的功能,比如视野平面的放大与缩小. 看看实际演示效果 大部分浏览器都是支持鼠标滚轮事件的,所以你可以先订阅鼠标滚轮事件的方法,每当事件被触发时,你能获取一个名为 wheelDelta 的属性,它代表刚才鼠标滚轮改变的大小,其中正值表示滚轮往下滑动,负值表示滚轮往上滑动.数值的绝对值越大,滑动范围越大. 但不幸的是依然有一款浏览器是

js捕获鼠标滚轮事件代码

 本文为大家介绍下如何使用js捕获鼠标滚轮事件,原理很简单,感兴趣的朋友可以参考下 之前看到一个人人网高级前端面试的笔试题    要求手写代码,其中有个题是做一个图片展示    类似百度图片最下面小缩略图那个展示栏    然后要求有个鼠标滚轮滚动变大变小的要求    这个我还真不知道怎么做,在网上找了找资料    发现可以捕获onmousewheel的事件    然后根据event.wheelDelta值的正负来判断是前滚还是后滚    随便写了个小例子,顺便捕获下键盘的按键,不太美观没有换行 

两种js监听滚轮事件的实现方法_javascript技巧

前段时间在写前端的时候,需要监听浏览器的滚轮事件 网上查了一下,找到两种监听滚轮事件的方法: 一.原生js通过window.onscroll监听 //window.onscroll = function() {//为了保证兼容性,这里取两个值,哪个有值取哪一个 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; //scrollTop就是触发滚轮事件时滚轮的高度 } 二.Jquery通过$(

解析javascript中鼠标滚轮事件

  这篇文章主要给大家详细介绍了javascript中鼠标滚轮事件,图文并茂,十分的详细,有需要的小伙伴可以参考下. 所有的现代浏览器都支持鼠标滚轮,并且在用户滚动滚轮时触发时间.浏览器通常使用鼠标滚轮滚动或缩放文档,但可以通过取消mousewheel事件来阻止这些默认操作.有一些互用性问题影响滚轮事件,但是编写跨平台的代码依旧可以行.除了Firefox之外的所有浏览器都支持"mousewheel"事件,但Firefox使用"DOMMouseScroll",而3级D

openlayers2事件-如何在openlayers2中注册鼠标滚轮事件

问题描述 如何在openlayers2中注册鼠标滚轮事件 试过了这个map.events.register("mousewheel", null, function(){});貌似不行,有大神知道如何注册吗? 解决方案 自己解决了问题,好爽! 解决方案二: http://blog.3snews.net/space.php?uid=6358&do=blog&id=8098 解决方案三: 注册鼠标滚轮事件

js响应鼠标滚轮事件

js响应鼠标滚轮事件    1var up = $('up'), down = $('down'), log; 2  3[up, down].each(function(arrow) { 4    arrow.setStyle('opacity', .1); 5}); 6  7document.addEvent('mousewheel', function(event) { 8    event = new Event(event); 9 10    /* Mousewheel UP */11