newerton / jquery-mousewheel
一个jQuery插件,为浏览器添加跨平台的鼠标滚轮支持。
This package is auto-updated.
Last update: 2023-07-26 00:04:59 UTC
README
一个jQuery插件,通过delta normalization添加跨浏览器的鼠标滚轮支持。
要使用此插件,只需将mousewheel
事件绑定到元素上。
它还提供了两个辅助方法,称为mousewheel
和unmousewheel
,它们的作用类似于jQuery中的其他事件辅助方法。
事件对象通过更新的deltaX
和deltaY
属性。此外,事件对象上还有一个新属性,称为deltaFactor
。将deltaFactor
乘以deltaX
或deltaY
,即可得到浏览器报告的滚动距离。
以下是一个使用绑定和辅助方法语法的示例
// using on $('#my_elem').on('mousewheel', function(event) { console.log(event.deltaX, event.deltaY, event.deltaFactor); }); // using the event helper $('#my_elem').mousewheel(function(event) { console.log(event.deltaX, event.deltaY, event.deltaFactor); });
现在已弃用向事件处理程序添加三个参数(delta
、deltaX
和deltaY
)的老行为,并将在未来版本中删除。
Delta...
浏览器、操作系统和设备的组合提供了大量的可能的delta值。实际上,如果用户先使用触控板然后使用物理鼠标滚轮,delta值可能会相差很大。此插件将这些值标准化,以便您从+-1开始,根据使用的力量或加速度以+-1的增量递增。这个数字可能根据设备而在数千之间。请查看一些用户收集的数据在这里。
获取滚动距离
在某些用例中,我们更喜欢有正常的delta,但在其他用例中,我们想知道根据用户输入,浏览器应该滚动多远。这可以通过将deltaFactor
乘以deltaX
或deltaY
事件属性来找到浏览器报告的滚动距离。
deltaFactor
属性是在3.1.5版本中添加到事件对象上的,以便可以提取实际报告的delta值。这是一个非标准属性。
查看实际效果
使用Browserify
内置对browserify的支持。
npm install jquery-mousewheel npm install jquery-browserify
在您的服务器端node.js代码中
var express = require('express'); var app = express.createServer(); app.use(require('browserify')({ require : [ 'jquery-browserify', 'jquery-mousewheel' ] }));
在您的浏览器端javascript中
var $ = require('jquery-browserify'); require('jquery-mousewheel')($);
许可证
此插件受MIT许可证许可。
版权所有 (c) 2013 Brandon Aaron