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

简介: 当鼠标或者键盘触发某一事件时,在JavaScript中,我们可以为这个事件设置相应的动作。当然浏览器本身甚至是操作系统也会有对某一事件的默认动作,这样除了由于我们设置了自己定义句柄而产生的动作之外,还会有默认的动作发生。 通过事件属性取消默认动作 DOM的Event对象,通过其preventDefault()方法来取消默认动作。在IE下,则是将event的r

当鼠标或者键盘触发某一事件时,在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了。

目录
相关文章
|
9天前
|
前端开发 JavaScript 数据安全/隐私保护
前端点击其他输入框的时候,对当上个输入框进行判断(鼠标移出输入框事件,和鼠标点击其他输入框触发事件)
前端点击其他输入框的时候,对当上个输入框进行判断(鼠标移出输入框事件,和鼠标点击其他输入框触发事件)
56 0
|
9月前
键盘绑定按下事件
键盘绑定按下事件
30 0
|
编解码
【PyAutoGUI操作指南】02 鼠标控制功能+获取当前坐标+鼠标事件+鼠标滚动查询
左上角的像素位于坐标0,0。如果屏幕分辨率为1920 x 1080,则右下角的像素将为1919,1079(因为坐标从0开始,而不是1)。
355 0
关于MFC禁止窗口最大化按钮和禁止改变窗口大小
关于MFC禁止窗口最大化按钮和禁止改变窗口大小
249 0
移动端touch拖动事件和click事件冲突问题解决
移动端touch拖动事件和click事件冲突问题解决
172 0
|
Java
swing中一些常见的鼠标事件(鼠标形状的改变、鼠标接近、按下(图标的切换)、鼠标接近、离开(字体颜色的改变)、鼠标拖拽等)还有系统托盘+对话框
swing中一些常见的鼠标事件(鼠标形状的改变、鼠标接近、按下(图标的切换)、鼠标接近、离开(字体颜色的改变)、鼠标拖拽等)还有系统托盘+对话框
424 0
swing中一些常见的鼠标事件(鼠标形状的改变、鼠标接近、按下(图标的切换)、鼠标接近、离开(字体颜色的改变)、鼠标拖拽等)还有系统托盘+对话框
鼠标滚轮消息的捕捉
鼠标滚轮消息的捕捉
673 0
|
C# Windows
C#代码像QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法
你QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法:   要么重写需要弹出的窗体的事件: protected override CreateParams CreateParams     {     get     {         const ...
1188 0
|
C#
WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件
原文:WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件 在WPF中,只有鼠标位置在某个控件上的时候才会触发该控件的鼠标事件。例如,有两个控件都注册了MouseDown和MouseUp事件,在控件1上按下鼠标,不要放开,移动到控件2上再放开。
2255 0