我正试图在我的网站上使用一个名为弗莱科特的数据报警器。重要的是,我要准确地使用它,以便从犹太日历中选择。我的站点是基于jQuery v3.3.1的,但是flexcal是为jQuery v2.1.3设计的。我认为它不应该引起任何问题,但我遇到了以下错误:
Uncaught:$.swap不是函数
在搜索之后,我发现这里这是一种打算是私有的方法,而且从来没有被记录下来,无论如何,目前我在我的站点上嵌入一个小部件时遇到了困难。查看小部件的源代码可以发现,该方法的使用如下所示:
return $.swap(
parent,
{display:'inline-block'}, // make it visible but shrink to contents
swapper.bind(this, elem, parent.parentNode)
);有人知道这个方法的目的是什么吗?它是否有一个并行的替代方案,或者其他一些故障排除建议?
发布于 2020-02-03 20:25:58
如果您查看jQuery.swap (https://github.com/jquery/jquery/blob/3.4.1/src/css/var/swap.js)的源代码,您将看到它所做的只是暂时更改第一个参数的一些CSS属性(在您的示例中是parent),运行一个计算,并还原原始属性值。你可以自己实现。这在您的情况下特别容易,因为我们暂时更改的唯一CSS属性是display。
var old_display = parent.style['display'];
parent.style['display'] = 'inline-block';
var ret = swapper.bind(this, elem, parent.parentNode).apply(parent, []);
parent.style['display'] = old_display;
return ret;https://stackoverflow.com/questions/60004050
复制相似问题