Zurb Foundation 5 和 Jquery 3 不兼容?

Zurb Foundation 5 and Jquery 3 incompatible?

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

Object doesn't support property or method 'indexOf' on line 9612

如果我回滚到 2.2.4 一切正常。 还有其他人 运行 参与其中吗?

浏览器:MS Edge(IE 11)

是的,Zurb Foundation 5 和 jQuery 3 不兼容。 Foundation 仍然使用 load 函数,该函数在 4 年前在 jQuery 1.8 中被弃用,最后 removed in jQuery 3.0. Since there is another jQuery Function called load 被调用,你会得到这个相当神秘的错误消息。

即使是当前发布的 Zurb Foundation 6.2.3 版本和 jQuery 3 也不兼容。 fix for your problem is already merged and should be released with version 6.2.4 将在大约 2 个月前发布,但仍未发布。 (根据 GitHub 页面,它已完成 78%)

所以我想唯一的解决办法是 a) 忽略错误或 b) 按照 所述自行修补代码。

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

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

// 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;
}