gpt4 book ai didi

jquery - JQMIGRATE:jQuery.fn.offset() 需要连接到文档的元素

转载 作者:行者123 更新时间:2023-12-01 03:59:33 25 4
gpt4 key购买 nike

我有一个使用jquery 1.x的网站......现在,我已经开始在这个网站中使用jquery 3.x......为了解决任何迁移问题,我已经安装了JQMigrate。

它在控制台窗口中显示的消息之一是“JQMIGRATE:jQuery.fn.offset() 需要连接到文档的元素”。

我不知道如何解决这个问题。唯一被称为“解决方案”的是:“不要尝试获取或设置无效输入的偏移量信息。”

这是显而易见的,但这在实践中意味着什么?例如,如果我有,

var parentOffset = $offsetParent.offset();

我应该这样写该行吗?

var parentOffset = $offsetParent ? $offsetParent.offset() : 0;

这真的有必要吗,因为我知道 $offsetParent 始终是有效的输入。

问候海梅

最佳答案

我刚刚遇到了同一行代码。

这里的问题是 $offsetParent 元素不是 document 的一部分。

我们不想检查$offsetParent.length,而是要确保该元素实际上是文档的一部分

// As of jQuery 3.0, .offset() only works for elements that are currently
// in the document. In earlier versions, this would return the value below
// but in jQuery 3.0 this throws an error.
var parentOffset = {top: 0, left: 0};

// If the element is in the document we are safe to use .offset()
if(document.body.contains($offsetParent[0])) {
parentOffset = $offsetParent.offset();
}

参见https://github.com/jquery/jquery-migrate/blob/master/warnings.md#jqmigrate-jqueryfnoffset-requires-an-element-connected-to-a-document有关此更改的更多信息。

关于jquery - JQMIGRATE:jQuery.fn.offset() 需要连接到文档的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51681100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com