`

js中鼠标滚轮事件跨浏览器详解

阅读更多
其中经我测试,IE/Opera属于同一类型,使用attachEvent即可添加滚轮事件。

    
    /*IE注册事件*/
    if(document.attachEvent){

         document.attachEvent('onmousewheel',scrollFunc);
    }

Firefox使用addEventListener添加滚轮事件

    /*Firefox注册事件*/
    if(document.addEventListener){
        document.addEventListener('DOMMouseScroll',scrollFunc,false);
    }

Safari与Chrome属于同一类型,可使用HTML DOM方式添加事件

    window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome

其中除Firefox外其余均可使用HTML DOM方式添加事件,因此添加事件使用以下方式

    /*注册事件*/
    if(document.addEventListener){
        document.addEventListener('DOMMouseScroll',scrollFunc,false);
    }//W3C
    window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome

detail与wheelDelta

判断滚轮向上或向下在浏览器中也要考虑兼容性,现在五大浏览器(IE、Opera、Safari、Firefox、Chrome)中Firefox 使用detail,其余四类使用wheelDelta;两者只在取值上不一致,代表含义一致,detail与wheelDelta只各取两个 值,detail只取±3,wheelDelta只取±120,其中正数表示为向上,负数表示向下。
复制代码
1 <p><label for="wheelDelta">  滚动值:</label>(IE/Opera)<input type="text" id="wheelDelta" /></p>
2  <p><label for="detail"> 滚动值:(Firefox)</label><input type="text" id="detail" /></p>
3  <script type="text/javascript">
4  var oTxt=document.getElementById("txt");
5 /***********************
6 * 函数:判断滚轮滚动方向
7 * 作者:walkingp
8 * 参数:event
9 * 返回:滚轮方向 1:向上 -1:向下
10 *************************/
11 var scrollFunc=function(e){
12     var direct=0;
13     e=e || window.event;
14   
15     var t1=document.getElementById("wheelDelta");
16     var t2=document.getElementById("detail");
17     if(e.wheelDelta){//IE/Opera/Chrome
18         t1.value=e.wheelDelta;
19     }else if(e.detail){//Firefox
20         t2.value=e.detail;
21     }
22     ScrollText(direct);
23 }
24 /*注册事件*/
25 if(document.addEventListener){
26     document.addEventListener('DOMMouseScroll',scrollFunc,false);
27 }//W3C
28 window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome/Safari
29 </script>
分享到:
评论

相关推荐

    js中鼠标滚轮事件详解(firefox多浏览器)

    本文将详细介绍如何在JavaScript中处理鼠标滚轮事件,并解决Firefox等多浏览器的兼容性问题。 首先,让我们来看一下如何注册滚轮事件。在Internet Explorer和Opera浏览器中,我们可以使用`attachEvent`方法来添加...

    js获取鼠标滚轮滚动像素

    在JavaScript中,通过监听鼠标滚轮事件来获取滚轮滚动的像素是一项常见的需求。本文将深入探讨如何利用JavaScript来实现这一功能,并且会解释代码片段中的实现细节,包括不同浏览器间的兼容性处理。 #### 获取滚轮...

    javascript事件详解

    此外,还有一些与鼠标事件相关的属性,如鼠标按键状态、鼠标滚轮等。在处理跨浏览器事件时,需要注意IE和其他浏览器之间的差异,以确保代码兼容性。 总的来说,JavaScript事件是构建动态网页的关键工具,理解并掌握...

    js图片查看器。鼠标拖动图片任意方向旋转,鼠标滚动滚轮缩放,任意角度翻转。

    2. **图片缩放**:图片查看器支持鼠标滚轮缩放,当用户滚动鼠标滚轮时,图片会相应地放大或缩小。这个功能可以通过调整图片的CSS样式(如`transform: scale()`)或者使用Canvas元素的`drawImage()`方法来实现。 3. ...

    jQuery 鼠标滚轮插件 mousewheel

    **jQuery鼠标滚轮插件mousewheel详解** 在Web开发中,用户交互的体验至关重要,而鼠标滚轮事件是用户与页面交互的一种常见方式。jQuery库提供了丰富的API来处理DOM操作和事件监听,但原生的jQuery并不直接支持滚轮...

    ImageFlow鼠标滚轮滑动效果

    《ImageFlow鼠标滚轮滑动效果详解》 在数字化时代,用户界面的交互体验成为了产品设计的重要考量因素。其中,鼠标滚轮滑动效果作为网页和应用中的常见交互方式,极大地提升了用户的浏览效率和舒适度。ImageFlow,...

    JavaScript焦点事件、鼠标事件和滚轮事件使用详解

    滚轮事件是指用户使用鼠标滚轮滚动页面时发生的事件。它主要是wheel事件,可以用作响应用户的滚动操作。wheel事件发生在鼠标滚轮按钮被旋转时,它带有有关滚动距离和滚动方向的信息。 ```javascript document....

    支持鼠标滚轮图片自适应的焦点图代码

    在这个案例中,代码实现了鼠标滚轮事件监听,使得用户可以通过滚轮轻松浏览图片。这通常涉及到JavaScript中的`addEventListener`方法,用于绑定滚轮事件(`wheel`或`DOMMouseScroll`,取决于浏览器支持)到图片容器...

    jquery.smoothwheel:跨浏览器平滑鼠标滚轮和触控板滚动

    `jQuery.smoothwheel`是一个专为解决这个问题设计的JavaScript插件,它致力于提供跨浏览器的平滑鼠标滚轮和触控板滚动效果,使网页滚动更加自然和流畅。 ### 一、基本原理 `jQuery.smoothwheel`的工作原理是捕获...

    图片随鼠标滚轮的转动放缩

    ### 图片随鼠标滚轮的转动放缩:JavaScript 实现详解 #### 一、功能概述 在现代网页设计中,用户交互体验变得越来越重要。一个常见的需求是让用户能够通过简单的鼠标滚轮操作来放大或缩小页面中的图片。这种方式...

    JQ 鼠标事件

    `mousewheel()`或`wheel()`事件处理鼠标滚轮操作,但浏览器兼容性有所不同。通常需要通过插件或polyfill来确保全平台支持。例如,使用`jquery.mousewheel.js`插件处理滚动: ```javascript $("#scrollable").on(...

    javascript中event详解

    ### JavaScript中的Event详解 #### 一、Event对象概述 JavaScript中的`Event`对象用于描述JavaScript事件,主要用于IE4及以上版本以及NN4(Netscape Navigator 4)之后的浏览器版本中。`Event`对象能够表示事件的...

    jquery-mousewheel-3.0.6

    jQuery Mousewheel插件由Brandon Aaron开发,版本号为3.0.6,它使得在jQuery项目中监听和处理鼠标滚轮事件变得简单易行。该插件不仅支持标准的滚轮事件,还兼容各种浏览器,包括Firefox、Chrome、Safari、Opera以及...

    js代码:网页中的adobePDF显示,js控制pdf页面滚动

    ### 知识点详解:网页中的Adobe PDF显示与JavaScript控制滚动 #### 1. 在网页中展示PDF文档 网页中嵌入PDF文档是一项常见的需求,尤其是对于那些希望直接在网站上提供阅读体验的场景。Adobe提供了多种方法来实现这...

    鼠标滑轮滚动事件

    在操作系统层面,滑轮滚动事件由硬件驱动程序触发,当用户滚动鼠标滚轮时,驱动程序会生成一个输入事件,这个事件随后会被操作系统传递给正在运行的应用程序。应用程序通过注册特定的事件监听器来捕获这个事件,然后...

    js屏蔽鼠标右键js屏蔽鼠标右键js屏蔽鼠标右键

    ### JS屏蔽鼠标右键知识点详解 #### 一、概述 在网页开发中,有时为了防止用户复制页面内容或查看源代码等操作,开发者会选择禁用鼠标右键功能。本篇文章将详细解析一种通过JavaScript实现禁用鼠标右键的方法,并...

    Quick QML-简单且好看的图片浏览器-支持多个图片浏览、缩放、旋转、滑轮切换图片

    通过监听鼠标滚轮事件,我们可以动态调整`Scale`的`x`和`y`值来实现图片的放大和缩小。同时,`MouseArea`组件可以帮助我们捕获鼠标输入,提供缩放的触发条件。 旋转图片则需要用到`Rotation`组件。与`Scale`类似,...

Global site tag (gtag.js) - Google Analytics