js滚轮事件兼容性问题需要注意哪些


Posted in Javascript onNovember 15, 2016

本文实例为大家解析了js滚轮事件需要注意的兼容性问题,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
  #div {
   width: 300px;
   height: 300px;
   background: red;
  }
 </style>
 <script>
  function addEvent(obj,sEv,fn){
   if(obj.addEventListener){
    return obj.addEventListener(sEv,fn,false);
   }else{
    return obj.attachEvent('on' + sEv,fn);
   }
  }

  function addWheel(obj,fn){
   function wheel(ev){
    var oEvent = ev || event;
    var bDown = true;
    bDown = oEvent.wheelDelta?oEvent.wheelDelta > 0:oEvent.detail < 0;
    fn && fn(bDown);
    oEvent.preventDefault && oEvent.preventDefault();
    return false;
   }
------------------------------------------------------------------
return false阻止浏览器默认行为,遇到绑定添加的事件的时候就失效了;
所有要用oEvent.preventDefault();在使用此方法前要做判断;
------------------------------------------------------------------
   if(window.navigator.userAgent.indexOf('Firefox') !=-1){
    obj.addEventListener('DOMMouseScroll',wheel,false);注:所有以DOM开头的只能通过事件绑定的形式添加此事件;
   }else{
    addEvent(obj,'mousewheel',wheel);
   }
  }
-------------------------------------------------------------------------------------------------
 obj.onmousewheel:滚动鼠标滚轮的时候触发;兼容IE系列和chrome;
 DOMMouseScroll:只能通过事件绑定的形式添加此事件;只兼容FF;
 兼容性问题解决方案:判断浏览器;
 oEvent.wheelDelta:不兼容FF;火狐下报undefined;
  chrome&&IE:
   下:-120;//以具体弹出数字为准
   上:120;

 oEvent.detail:
  FF:
   下:3;//以具体弹出数字为准
---------------------------------------------------------------------------------------------------
  window.onload = function () {
   var oDiv = document.getElementById('div');
   addWheel(oDiv,function(bDown){
    oDiv.onmousewheel = null;
    if(bDown){
     oDiv.style.height = oDiv.offsetHeight - 10 + 'px';
    }else{
     oDiv.style.height = oDiv.offsetHeight + 10 + 'px';
    }
   });
  }
 </script>
</head>
<body>
<div id="div"></div>
</body>
</html>

滚轮事件的兼容性问题比较多,所以大家在实现这个效果的时候也要随时测试兼容性的问题。

暂时整理的大概就这些,还有很多不足的地方,大家多提宝贵意见!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javaScript 关闭浏览器 (不弹出提示框)
Jan 31 Javascript
页面加载完毕后滚动条自动滚动一定位置
Feb 20 Javascript
JavaScript中Object.prototype.toString方法的原理
Feb 24 Javascript
详解在vue-cli项目中安装node-sass
Jun 21 Javascript
Vue-cli创建项目从单页面到多页面的方法
Sep 20 Javascript
JS关于刷新页面的相关总结
May 09 Javascript
JavaScript页面倒计时功能完整示例
May 15 Javascript
vue自定义表单生成器form-create使用详解
Jul 19 Javascript
微信小程序 wx:for遍历循环使用实例解析
Sep 09 Javascript
Vue的data、computed、watch源码浅谈
Apr 04 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
Jun 16 Javascript
vue $router和$route的区别详解
Dec 02 Vue.js
禁用backspace网页回退功能的实现代码
Nov 15 #Javascript
sea.js常用的api简易文档
Nov 15 #Javascript
js实现倒计时及时间对象
Nov 15 #Javascript
Bootstrap简单表单显示学习笔记
Nov 15 #Javascript
JS实现根据用户输入分钟进行倒计时功能
Nov 14 #Javascript
js调用屏幕宽度的简单方法
Nov 14 #Javascript
jquery心形点赞关注效果的简单实现
Nov 14 #Javascript
You might like
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
PHP session垃圾回收机制实例分析
2019/06/28 PHP
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
2014/09/02 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
简单实现JS对dom操作封装
2015/12/02 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
python实现备份目录的方法
2015/08/03 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
selenium+python设置爬虫代理IP的方法
2018/11/29 Python
python线程的几种创建方式详解
2019/08/29 Python
python生成大写32位uuid代码
2020/03/03 Python
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
生态学毕业生自荐信
2013/10/27 职场文书
医生进修自我鉴定
2014/01/19 职场文书
2014年六一儿童节演讲稿
2014/05/23 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
机关党员公开承诺书
2014/08/30 职场文书
2014年团总支工作总结
2014/11/21 职场文书
预备党员介绍人意见
2015/06/01 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书
Vue如何清空对象
2022/03/03 Vue.js