我正在尝试将 Zurb Foundation 5 与 JQuery 3.0.0.1 一起使用,并且似乎存在一些兼容性问题。当我初始化 Foundation 时$(document).foundation();
,抛出一个 javascript 错误
对象不支持第 9612 行的属性或方法“indexOf”
如果我回滚到 2.2.4 一切正常。有没有其他人遇到过这个?
浏览器:MS Edge(IE 11)
我正在尝试将 Zurb Foundation 5 与 JQuery 3.0.0.1 一起使用,并且似乎存在一些兼容性问题。当我初始化 Foundation 时$(document).foundation();
,抛出一个 javascript 错误
对象不支持第 9612 行的属性或方法“indexOf”
如果我回滚到 2.2.4 一切正常。有没有其他人遇到过这个?
浏览器:MS Edge(IE 11)
是的,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。
您可以使用如下代码段解决此问题:
// 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;
}