JS鼠标滚轮事件详解

鼠标滚轮事件

//兼容性写法,该函数也是网上别人写的,不过找不到出处了,蛮好的,所有我也没有必要修改了
//判断鼠标滚轮滚动方向
if (window.addEventListener)//FF,火狐浏览器会识别该方法
    window.addEventListener(‘DOMMouseScroll‘, wheel, false);
window.onmousewheel = document.onmousewheel = wheel;//W3C
//统一处理滚轮滚动事件
function wheel(event){
    var delta = 0;
    if (!event) event = window.event;
    if (event.wheelDelta) {//IE、chrome浏览器使用的是wheelDelta,并且值为“正负120”
        delta = event.wheelDelta/120;
        if (window.opera) delta = -delta;//因为IE、chrome等向下滚动是负值,FF是正值,为了处理一致性,在此取反处理
    } else if (event.detail) {//FF浏览器使用的是detail,其值为“正负3”
        delta = -event.detail/3;
    }
    if (delta)
        handle(delta);
}
//上下滚动时的具体处理函数
function handle(delta) {
        if (delta <0){//向下滚动

        }else{//向上滚动

        }
    }

 IE、chrome监听的是wheelDelta,向下滚动其值为-120;向上滚动其值为120

 FF监听的是detail,向下滚动其值为3;向上滚动其值为-3

其他浏览器未测试

同类文章

http://www.jb51.net/article/24831.htm

http://www.cnblogs.com/walkingp/archive/2010/02/03/1662872.html

时间: 2024-10-29 10:46:20

JS鼠标滚轮事件详解的相关文章

js中鼠标滚轮事件详解

(以下内容部分内容参考了http://adomas.org/javascript-mouse-wheel/ ) 之前js 仿Photoshop鼠标滚轮控制输入框取值中已使用js对鼠标滚轮事件进行控制,滚轮事件其中考虑浏览器兼容性问题 附加事件 其中经我测试,IE/Opera属于同一类型,使用attachEvent即可添加滚轮事件. /*IE注册事件*/ if(document.attachEvent){ document.attachEvent('onmousewheel',scrollFunc

JS鼠标滚轮事件解析

一.不同浏览器的鼠标滚轮事件 首先,不同的浏览器有不同的滚轮事件.主要是有两种,onmousewheel(IE/Opera/Chrome支持,firefox不支持)和DOMMouseScroll(只有firefox支持) 另外在操作的过程中需要添加事件监听,兼容性写法 代码如下: /*注册事件*/ if(document.addEventListener){ document.addEventListener('DOMMouseScroll',scrollFunc,false); // W3C

JS鼠标滚轮事件

所有的现代浏览器都支持鼠标滚轮,并且在用户滚动滚轮时触发时间.浏览器通常使用鼠标滚轮滚动或缩放文档,但可以通过取消mousewheel事件来阻止这些默认操作.有一些互用性问题影响滚轮事件,但是编写跨平台的代码依旧可以行.除了Firefox之外的所有浏览器都支持“mousewheel”事件,但Firefox使用“DOMMouseScroll”,而3级DOM事件规范草案建议使用事件名“wheel”替代“mousewheel”. document.body.onmousewheel = functio

JS 鼠标滚轮事件(mousewheel/DOMMouseScroll)

onmousewheel (FireFox不支持此事件) 1 // IE/Opera/Chrome/Safari 2 document.body.onmousewheel = function(event) { 3 event = event || window.event; 4 console.dir(event); 5 }; DOMMouseScroll(FireFox独有事件) 1 // Firefox 2 document.body.addEventListener("DOMMouseS

js keyup、keypress和keydown事件 详解

js keyup.keypress和keydown事件  详解 js keyup.keypress和keydown事件都是有关于键盘的事件 当一个按键被pressed 或released在每一个现代浏览器中,都可能有三种客户端事件. keydown event keypress event keyup event keydown事件发生在键盘的键被按下的时候,接下来触发keypress事件. keyup 事件在按键被释放的时候触发. 这三个事件在页面中的使用方法如下例: <input id=&quo

js整频滚动展示效果(函数节流鼠标滚轮事件)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-T

第三天:JS事件详解-事件流

学习来源: F:\新建文件夹 (2)\HTML5开发\HTML5开发\04.JavaScript基础\6.JavaScript事件详解 学习内容:  1)基础概念 2)举例说明: 代码如上,如果用事件冒泡的方式来解释,先点击到接受时间的按钮,然后是div,因为按钮包含在div中,然后是html5然后到文档 事件的捕获,首先是文档接收, 然后是html 然后是div 最后是最具体的元素button来接收 学后感: 只是记住了它的意思,但是并没有明白有什么实际意义

js鼠标滚轮上下滚动监听事件应用实例(跨浏览器,亲测)

最近做项目涉及到多个DIV切换效果,包括普通按钮点击切换和鼠标滚轮上下滚动切换等:其主要涉及到的内容就是鼠标滚轮上下切换的事件监听,此处是第一次接触到,故在此记录一下:也希望能帮到各位有需要的朋友. 以下为项目实例: $(function() { var count = $("#sysCount").val();    var isUp = false; // 初始化子系统模块    if (count > 6) {        $("#panel").cs

JS事件-鼠标滚轮事件

之前学习了onmouseover,onmousedown等鼠标事件,今天来看看鼠标的滚轮事件,浏览器兼容一直是让人比较恶心的事情,今天就让我们将恶心进行到底,看看这个恶心的鼠标滚轮事件! 鼠标滚轮事件在IE和谷歌浏览器Chrome下是通过onmousewheel这个事件实现的,但是火狐FF下却不识别onmousewheel,在FF下需要用DOMMouseScroll,并且必须用"事件监听"方式添加事件才有效: 而大家都知道"事件监听"方式绑定事件: IE下是通过at