当前位置:首页 > jquery

jquery滚轮事件

2026-02-04 00:51:12jquery

jQuery 滚轮事件监听

jQuery本身没有直接提供滚轮事件监听方法,但可以通过原生JavaScript的wheel事件或第三方插件实现。

原生JavaScript的wheel事件

通过jQuery绑定原生wheel事件,兼容现代浏览器:

jquery滚轮事件

$(element).on('wheel', function(event) {
    // 阻止默认行为(如页面滚动)
    event.preventDefault();

    // 获取滚动方向
    const delta = event.originalEvent.deltaY;
    if (delta > 0) {
        console.log('向下滚动');
    } else if (delta < 0) {
        console.log('向上滚动');
    }
});

使用mousewheel插件

对于老旧浏览器或需要更精细控制的情况,可引入jquery-mousewheel插件:

jquery滚轮事件

  1. 引入插件:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js"></script>
  2. 监听事件:

    $(element).on('mousewheel', function(event) {
     // 阻止默认行为
     event.preventDefault();
    
     // delta值判断方向
     if (event.deltaY > 0) {
         console.log('向下滚动');
     } else {
         console.log('向上滚动');
     }
    });

注意事项

  • 事件冒泡:滚轮事件可能触发多次,建议用event.stopPropagation()控制。
  • 性能优化:高频触发的滚轮事件建议使用节流(throttle)或防抖(debounce)。
  • 移动端兼容:移动设备需额外处理touchmove事件。

示例:节流实现

let throttleTimer;
$(window).on('wheel', function(event) {
    if (!throttleTimer) {
        throttleTimer = setTimeout(() => {
            console.log('节流处理滚动');
            throttleTimer = null;
        }, 200);
    }
    event.preventDefault();
});

标签: 滚轮事件
分享给朋友:

相关文章

vue实现长按事件

vue实现长按事件

实现长按事件的几种方法 在Vue中实现长按事件可以通过多种方式完成,以下是几种常见的实现方法: 使用原生事件监听 通过@mousedown和@mouseup或@touchstart和@touchen…

vue 实现hover事件

vue 实现hover事件

在Vue中实现hover事件可以通过多种方式完成,以下是常见的几种方法: 使用@mouseenter和@mouseleave指令 Vue提供了原生的事件监听指令,可以直接在模板中绑定鼠标进入和离开…

uniapp事件介绍

uniapp事件介绍

uniapp事件介绍 uniapp中的事件系统基于Vue.js的事件机制,允许开发者在组件间进行通信或响应用户交互。以下是uniapp中常见的事件类型和使用方法。 事件绑定与触发 在uniapp中,…

vue实现事件捕获

vue实现事件捕获

Vue 中实现事件捕获的方法 在 Vue 中,默认情况下事件是通过冒泡机制传递的。如果需要实现事件捕获,可以通过以下方式: 使用 .capture 修饰符 Vue 提供了 .capture 事件修…

vue事件如何实现

vue事件如何实现

Vue 事件实现方法 Vue 中事件通过 v-on 指令或 @ 简写实现,支持原生 DOM 事件和自定义事件。 原生 DOM 事件绑定 <button v-on:click="handleC…

vue实现拖拽事件

vue实现拖拽事件

Vue 实现拖拽事件的方法 使用 HTML5 原生拖拽 API HTML5 提供了原生的拖拽 API,可以通过 draggable 属性、dragstart、dragend、dragover 和 dr…