I have read that offsetLeft and offsetTop do not work properly in all browsers. jQuery.offset() is supposed to provide an abstraction for this to provide the correct value xbrowser.

我想做的是得到一个元素被点击的位置相对于元素左上角的坐标.

问题是,在FFX3.6中,jQuery.offset().top实际上给了我一个十进制值(在IE和Chrome中,这两个值是匹配的).

This fiddle exhibits the issue. If you click the bottom image, jQuery.offset().top returns 327.5, but offsetTop returns 328.

我认为offset()返回了正确的值,我应该使用它,因为它可以跨浏览器工作.然而,人们显然不能点击像素的小数点.确定jQuery返回的偏移量的真正偏移量是正确的方法吗?我应该使用offsetTop,还是完全使用其他方法?

推荐答案

我认为你说的是对的,人们不能点击半像素,所以我个人会使用四舍五入的jQuery offset...

Jquery相关问答推荐

如何限制select2中的字符?

formData.append 来自不同输入文件的两个文件

可以推迟 jQuery 的加载吗?

javascript 捕获浏览器快捷方式 (ctrl+t/n/w)

jquery克隆div并将其附加在特定div之后

如何获取将在不提交的情况下提交的所有表单值

如何使用jQuery删除父元素

一次替换多个字符串

显示的 jQuery 日期 Select 器年份

JavaScript 吸管(告诉鼠标光标下像素的 colored颜色 )

jQuery.parseJSON 与 JSON.parse

使用 jQuery 从 JavaScript 对象中添加/删除项目

javascript 正则表达式用于包含至少 8 个字符、1 个数字、1 个大写和 1 个小写的密码

在 HTML 表单提交上制作 Enter 键而不是激活按钮

将返回的 JSON 对象属性转换为(较低的第一个)camelCase

jQuery Button.click() 事件被触发两次

复选框值始终为打开

如何使用jquery获取点击链接的href?

$(document).ready(function(){});页面底部的 vs 脚本

用作 Google Chrome 书签