分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

js滚轮事件兼容写法

发布时间:2023-09-06 01:58责任编辑:林大明关键词:js
/** * 简易的事件添加方法 */ 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("鼠标向上滚了!"); }});

  

js滚轮事件兼容写法

原文地址:https://www.cnblogs.com/holy-amy/p/9146657.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved