抵消().left, offsetLeft, offset.左,有什么不同?为什么不使用纯js的offsetLeft而不
offset().left, offsetLeft, offset.left, what's the difference? why not use the pure js offsetLeft instead of the jQuery way?
通常当使用jQuery获得偏移量时,我做offset().left
。我的理解是,offsetLeft
是纯javascript,所以为什么不使用这个在jQuery offset().left
?它真的对跨浏览器有帮助吗?还是?
当使用offset().left
时,我看到人们拿出()
,所以它只是offset.left
,这样做可以吗?是不是只有括号里什么都没有才行?
作为旁注:我听说在IE7中,当使用offset().top
的jQuery方式时,它会根据你滚动的多少给出一个螺钉偏移量。有人在jQuery API页面上评论offset()说document.getElementById(anchor).offsetTop
修复了它
在某些浏览器中获取偏移量可能有点棘手。offsetTop
和-Left
在ie6及以下版本中是不正确的,其他像offsetX
和offsetY
在浏览器中完全不一致(见Quirksmode)
一般来说,当一个库包含某些功能时,即使相同的功能似乎已经存在,这通常是为了跨浏览器的目的。
据我所知,使用offset.left
代替offset().left
甚至不应该工作。后者将是"获取 offset()
函数返回的对象的left
属性",这是您想要的。前者,没有括号,将是"获取函数 offset
的left
属性",这对我来说没有多大意义(除非您访问的offset
属性的对象不是jQuery包装器,在这种情况下,offset
属性可能不是函数,而是具有left
和top
属性的对象)。
但我不是jQuery专家
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- 为什么不'在JQuery中找到第二个css选择器的工作
- 为什么不是't运行此Javascript的Chrome
- 为什么不显示警报窗口
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- 为什么不'我们在javascript中使用函数参数的数据类型
- 为什么不't我的变量在我的控制器中填充后在我的视图中呈现
- 为什么不是'这个jQuery汉堡包按钮不工作
- 为什么不't Express呈现我的React应用程序
- 为什么不是'我的JS滑块正在工作
- 为什么不是'我的函数在解析云代码中工作吗?当我在Angular和Express中测试时,它是有效的
- 为什么不'当单元测试出现解析错误时,我的因果报应测试会失败
- 在控制器上使用“$watch”时,为什么不更新此隐藏字段
- 为什么不't我的ruby代码与javascript文件一起插入
- 为什么不在浏览器上获得JQuery效果呢
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- React:为什么不;t React.addons.cloneWithProps与Components配合使用
- 为什么不't htmlCollection从数组继承
- 抵消().left, offsetLeft, offset.左,有什么不同?为什么不使用纯js的offsetLeft而不