// 针对火狐不支持offsetX/Y
function getOffset(e) {var target = e.target, // 当前触发的目标对象eventCoord,pageCoord,offsetCoord;// 计算当前触发元素到文档的距离pageCoord = getPageCoord(target);// 计算光标到文档的距离eventCoord = {X: window.pageXOffset + e.clientX,Y: window.pageYOffset + e.clientY};// 相减获取光标到第一个定位的父元素的坐标offsetCoord = {X: eventCoord.X - pageCoord.X,Y: eventCoord.Y - pageCoord.Y};return offsetCoord;
}function getPageCoord(element) {var coord = { X: 0, Y: 0 };// 计算从当前触发元素到根节点为止,// 各级 offsetParent 元素的 offsetLeft 或 offsetTop 值之和while (element) {coord.X += element.offsetLeft;coord.Y += element.offsetTop;element = element.offsetParent;}return coord;
}

原生js 解决offsetX兼容性问题相关推荐

  1. IE7.JS解决IE兼容性问题方法

    转自:http://code.google.com/p/ie7-js/ 使IE5,IE6兼容到IE7模式(推荐) <!--[if lt IE 7]> <script src=&quo ...

  2. 原生js解决表格奇偶列显示

    本方案重点在于掌握table的 rows属性和 row的cells属性. 解决的问题: 例子:  奇偶列不同颜色显示 个人实际运用: 表格内部内容我想要让内容相对靠近,  奇数列靠右,偶数列靠左, 用 ...

  3. 原生js解决dblclick双击和mousedown,mouseup鼠标按下抬起冲突问题

    最近在开发项目中遇到这么一条需求,canvas画布上实现图形的拖拽以及双击结束多边形画图的功能.但是遇到了鼠标事件冲突的问题.参考网上demo最后确定的实现思路是,使用setTimeout方法.判断一 ...

  4. 原生JS代码100例

    1.原生JavaScript实现字符串长度截取function cutstr(str, len) {var temp;var icount = 0;var patrn = /[^\x00-\xff]/ ...

  5. html 引入js 兼容,JS跨浏览器兼容性解决思路及方案汇总,常见JS兼容性知识点汇总...

    上篇文章我们介绍了,处理CSS浏览器兼容性的4个解决方案:浏览器CSS样式初始化.浏览器私有属性,CSS hack语法和自动化插件,有兴趣的可以看看,链接放到本文结尾 本文主要介绍JS的跨浏览器兼容性 ...

  6. 原生js的attachEvent和addEventListener解决window.onload在一个页面只能执行一次的问题

    原生js的attachEvent和addEventListener解决window.onload在一个页面只能执行一次的问题 参考文章: (1)原生js的attachEvent和addEventLis ...

  7. 解决原生JS鼠标移入事件多次触发的问题

    在原生JS的onmouseover事件中,一般使用的期望是在鼠标移入的时候触发一次,但是当绑定事件的元素有子元素时候,鼠标在元素和子元素中切换时候会多次触发鼠标移入事件,但是不会触发鼠标移出事件,基于 ...

  8. 原生JS 面试题 (基础)(概率大)

    文章目录 1.面试题: 请描述一下 location.go(-1) 和 history.go(-1) 有什么区别 2.面试题:什么是 cookie? 如何回答! 3.面试题: 描述一下 cookie ...

  9. 如何上传图片到fileupload空间_如何用原生js写图片上传组件v2.0(还有新版本)?...

    js图片上传组件: 基本要求: 1.上传的图片可预览,可删除,可被覆盖更新 2.要求图片格式为jpg和png,大小不能超过2M 新加需求: 1.模拟回显,可用本地存储(实际上的回显是通过后台传过来的u ...

最新文章

  1. 2021年中国工业互联网安全大赛核能行业赛道writeup之Webshell密码
  2. 变步长龙格库塔法matlab代码,matlab 龙格库塔法 变步长龙格库塔法.doc
  3. git是航空母舰:ScrumBoard
  4. java部署web service的方式
  5. Apache TomEE + JMS。 这从未如此简单。
  6. 机器学习基石-作业二-第10题分析
  7. pptx模块的安装与基本使用
  8. ES6新特性_ES6对象的简化写法---JavaScript_ECMAScript_ES6-ES11新特性工作笔记008
  9. Rust语言学习大纲
  10. Windows10临时关闭数字签名认证
  11. 射频微波芯片设计2:滤波器芯片
  12. vue横向树结构_vue组件横向树实现代码
  13. python去除图片上的文字_python读取图片里面的文字
  14. huobi程序化交易项目
  15. Ubuntu16.04建立共享文件夹
  16. LabVIEW开发太阳能测测系统
  17. agx上搭建ros2
  18. 【斯坦福公开课-机器学习】1.机器学习的动机和应用(吴恩达 Andrew Ng)
  19. 2020年3月27日 失眠问题解决之道 ~ 观想法①
  20. jk触发器的异步置位端和异步复位端的表示方法

热门文章

  1. 正则:密码为8-16位的字母、数字以及英文标点符号且同时包含大小写字母
  2. yum安装mysql缺点_centos7通过yum安装mysql 关键步就几步
  3. S5PV210的地址映射
  4. [Python自动化]用Python开发自动化测试脚本
  5. 用selenium4 webdriver + java 开发第一个自动化测试脚本
  6. 简单的一个自动化测试脚本
  7. 【Python画图】matplotlib画折线图plt.plot、柱状图plt.bar、堆叠柱状图、饼图plt.pie以及自定义坐标轴的位置、显示汉字
  8. yolov4模型部署流程
  9. 工作流框架flowable6与activiti7的选择
  10. 自媒体盈利模式有哪些?如何实现盈利?