javascript - Query.swap 向后兼容性

标签 javascript jquery calendar hebrew

我正在尝试使用名为 flexcal 的日期选择器在我的网站上。对我来说,准确地使用它以允许从犹太历中进行选择很重要。我的网站基于 jQuery v3.3.1,但 flexcal 是为 jQuery v2.1.3 设计的。我认为这不会造成任何问题,但我遇到了以下错误:

Uncaught TypeError: $.swap is not a function

经过搜索,我找到了here这是一种旨在保密的方法,从未被记录下来,无论如何,目前我在我的网站上嵌入小部件时遇到了麻烦。查看该小部件的源代码可以发现该方法的使用如下所示:

return $.swap(
            parent,
            {display:'inline-block'}, // make it visible but shrink to contents
            swapper.bind(this, elem, parent.parentNode)         
        );

有谁知道该方法的目的是什么,它是否有并行替代方案,或其他一些故障排除建议?

最佳答案

如果您查看 jQuery.swap ( https://github.com/jquery/jquery/blob/3.4.1/src/css/var/swap.js ) 的源代码,您会发现它所做的只是临时更改第一个参数 (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;

关于javascript - Query.swap 向后兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60004050/

相关文章:

javascript - 如何防止按钮在发送后提交表单?

Java 获取特定时间的所有时区

javascript - 将日期选择器添加到嵌套表单字段

javascript - 帮助我使 jquery AJAXed divs 的链接像 iframe 一样工作

javascript - 查找表格单元格的值

Jquery UI Accordion - 如何将面板大小设置为零或阻止其在单击时显示?

javascript - jQuery 获取 URL 的最后一部分

ios - EKEvent 将相同的事件添加到日历

javascript - 关于正则表达式模式的解释

javascript - Firebase Firestore 查询得到一个结果