js滚轮事件兼容写法
2024-09-03 02:38:21
/**
* 简易的事件添加方法
*/ define(function(require, exports, module) {
exports.addEvent = (function(window, undefined) {
var _eventCompat = function(event) {
var type = event.type;
if (type == 'DOMMouseScroll' || type == 'mousewheel') {
event.delta = (event.wheelDelta) ? event.wheelDelta / 120 : -(event.detail || 0) / 3;
}
//alert(event.delta);
if (event.srcElement && !event.target) {
event.target = event.srcElement;
}
if (!event.preventDefault && event.returnValue !== undefined) {
event.preventDefault = function() {
event.returnValue = false;
};
}
/*
......其他一些兼容性处理 */
return event;
};
if (window.addEventListener) {
return function(el, type, fn, capture) {
if (type === "mousewheel" && document.mozFullScreen !== undefined) {
type = "DOMMouseScroll";
}
el.addEventListener(type, function(event) {
fn.call(this, _eventCompat(event));
}, capture || false);
}
} else if (window.attachEvent) {
return function(el, type, fn, capture) {
el.attachEvent("on" + type, function(event) {
event = event || window.event;
fn.call(el, _eventCompat(event));
});
}
}
return function() {};
})(window);
});
于是,我们就可以很从容使用mousewheel
事件了。例如:
addEvent(dom, "mousewheel", function(event) {
if (event.delta < 0) { alert("鼠标向上滚了!"); }
});
最新文章
- Lua 安全调用 metatable 的简单应用
- iOS设计模式
- ActiveMQ;RabbitMQ;ZeroMQ
- 忘记了MariaDB root密码的解决办法
- 在linux下安装Xwindows
- JS基础回顾,小练习(克隆对象,数组)
- 【风马一族_Android】代码英语之二 布局文件的Android各个参数
- 《APUE》第四章笔记(4)
- [Andrew]Ext.Net常用布局(Border布局)
- javaweb 中的乱码问题
- Android绘制流程
- Android开源库
- 修改oracle内存
- c#抓取网页内容乱码的解决方案
- 简单了解JS中的几种遍历
- 题解 P5301 【[GXOI/GZOI2019]宝牌一大堆】
- android 错误处理思维随笔
- Tensorflow name_scope
- JAVA记录-Web系统AJAX异步传递路径写法
- linux网卡eth1如何修改为eth0
热门文章
- Spring Cloud Config、Apollo、Nacos配置中心选型及对比
- Python Package(转)
- Cisco的互联网络操作系统IOS和安全设备管理器SDM__备份和恢复Cisco 配置
- 封装打包Python脚本
- 校招有感:计算机专业毕业生如何找工作(Java方向)
- Sqoop import export参数
- SQL中字符串截取函数(SUBSTRING)
- Codeforces Round #625 (Div. 2, based on Technocup 2020 Final Round) A. Contest for Robots(数学)
- Java-Graphics类的绘图方法实现
- Codeforces Round #650 (Div. 3) D. Task On The Board (构造,贪心)