我正在尝试使用来自 iframe 的“main-nav”id slideToggle 一个 div:
<div id="top">
<div id="titlearea">
<iframe id="customnavbar" src="navbar/navbar.html">..</iframe>
</div>
<div id="main-nav">...</div>
</div>
但我得到一个错误:0:Object doesn't support property or method 'slideToggle'
。
我正在为 a.dropdown-toggle 链接使用这个 onClick 事件处理程序:
$(function(){
$("a.dropdown-toggle").on("click", function(){
$("#main-nav", window.parent.document).slideToggle(300);
});
});
我正在 Microsoft Edge 44.18362.267.0、Microsoft EdgeHTML 18.18362 中进行测试。 在我的脚本附加 onClick 事件处理程序之前,我正在加载 jQuery 库。
我在边缘控制台中尝试了 $("#main-nav", window.parent.document).slideToggle(300);
并且它工作正常。
任何想法可能是这里的问题?谢谢。
编辑
将我的代码推送到 github 后,我在 chrome 中对其进行了测试并得到了这个错误:
Uncaught TypeError: $(...).slideToggle is not a function
at HTMLAnchorElement.myEventHandler (navbar.html:48)
at HTMLAnchorElement.dispatch (jquery-3.3.1.slim.min.js:2)
at HTMLAnchorElement.v.handle (jquery-3.3.1.slim.min.js:2)
myEventHandler @ navbar.html:48
dispatch @ jquery-3.3.1.slim.min.js:2
v.handle @ jquery-3.3.1.slim.min.js:2
解决方案
然后我发现了这个solution .
问题在于包含 jQuery 的 slim minified
版本,将其更改为 minified
版本会有所帮助。
最佳答案
解决方案描述here .
问题在于包含 jQuery 的 slim minified 版本,将其更改为 minified 版本即可解决问题。
关于javascript - 对象不支持从 iframe 调用的 MS Edge 中的属性或方法 'slideToggle',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57879009/