基金会5显示不使用JQuery 3.1.1
使用Chrome 50 & JQuery 3.1.1我试图让基本的基础揭示模式工作。我从Zurb网站上的基本示例中复制了代码,并将其放在我的页面的主体标记中。基金会5显示不使用JQuery 3.1.1
<a href="#" data-reveal-id="myModal" id="test">++</a>
<div id="myModal" class="reveal-modal" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog">
<h2 id="modalTitle">Security Details</h2>
<p>My message</p>
<a class="close-reveal-modal" aria-label="Close">×</a>
</div>
而且我已验证所有库正在加载。 我的网页上的最后一块脚本是
<script>
$(document).foundation();
</script>
,我知道是工作,因为我使用的工作,其他的基金会元素。
当我点击链接“++”我得到一个错误在我的控制台
Uncaught TypeError: Cannot read property 'defaultView' of null
如果我再在控制台运行
$('#myModal').foundation('reveal', 'open');
揭密对话框显示出来,从此直到我重新加载页面“++”链接也工作。所以我猜在设置点击事件链接不工作的地方,但JQuery的错误信息是没有意义的。
任何想法? (我也使用jQuery迁移库)
我觉得你的问题是在jQuery的3(https://jquery.com/upgrade-guide/3.0/#breaking-change-load-unload-and-error-removed)推出了重大的变动,特别是去除.load
,因为你正在使用的迁移,你可能意识到在一定程度上图书馆,所以我不会喋喋不休。
移植似乎并不总是适用于旧版Foundation(请参阅此处的问题:https://github.com/zurb/foundation-sites/issues/8975),但为什么这对于几种不同的意见而言更加模糊。
好消息是你有两个修复选项。
修复选项一个
的Zurb建议的修复方法是手动补丁中所有的破引用.load
。我无法找到F5的列表,但这里是F6的列表,我猜他们很相似(公共>>https://github.com/zurb/foundation-sites/pull/8923/commits/c0b42643da96d3b297f3d7c35ccdcebed92ad7a1)。这并不是说很多文件,受影响的有:
- DIST/foundation.js
- DIST /插件/ foundation.interchange.js
- DIST /插件/ foundation.util.triggers.js
- js/foundation.interchange.js
- js/foundation.util.triggers。js
他们都是同一个问题;使用折旧.load(fn)
如果你感到非常大胆,你可以只全局替换的所有实例:
.load(function() {
与
.on("load", function() {
修复选项2
我们e jQuery Migrate的1.4.1版本。我不完全确定为什么1.4.1在更高版本不支持的情况下工作(或者为什么他们完全跳过版本2),但它确实起作用,所以这可能是一个足够好的开始。 (3.0.0 & 3.0.1-rc都会产生错误,这在尝试让jQuery 3正常工作时似乎有点违反直觉)。
以F 5.5.3工作,JQ 3.1.1 & JQM 1.4.1 >>https://jsfiddle.net/tymothytym/fxbk6h1d/
选项2应该是正确的答案。谢谢! – facundofarias
是否使用基金会5.5.3? – tymothytym
看起来像5.4.0 –