4

我正在尝试将 Zurb Foundation 5 与 JQuery 3.0.0.1 一起使用,并且似乎存在一些兼容性问题。当我初始化 Foundation 时$(document).foundation();,抛出一个 javascript 错误

对象不支持第 9612 行的属性或方法“indexOf”

如果我回滚到 2.2.4 一切正常。有没有其他人遇到过这个?

浏览器:MS Edge(IE 11)

4

2 回答 2

5

是的,Zurb Foundation 5 和 jQuery 3 不兼容。Foundation 仍然使用该load函数,该函数在 4 年前在 jQuery 1.8 中被弃用,最终在 jQuery 3.0 中被删除。由于有另一个名为 的 jQuery 函数被调用load,因此您会得到这个相当神秘的错误消息。

即使是当前发布的 Zurb Foundation 6.2.3 版本和 jQuery 3 也不兼容。您的问题的修复程序已经合并,应该与大约 2 个月前发布的版本 6.2.4一起发布,但仍然没有。(根据 GitHub 页面,它完成了 78%)

所以我想唯一的解决方案是a)忽略错误或b)按照this answer中的描述自己修补代码。

更新: Foundation 6.2.4 于 2016 年 10 月 21 日发布,现在支持 jQuery 3。

于 2016-09-21T20:20:16.847 回答
0

您可以使用如下代码段解决此问题:

// XXX Hack for foundation for jQuery upgrade from 2.x to 3.x
jQuery.fn.load = function (callback) {
    this.on('load', callback);
    return this;
};

打字稿:

import jQuery from 'jquery';

// XXX Hack for foundation for jQuery upgrade from 2.x to 3.x
var jQueryAny = (jQuery as any).fn;
jQueryAny.load = function(cb:any) {
    this.on('load', cb);
    return this;
}
于 2022-02-18T08:41:56.563 回答