我有designed a page,其中jquery与Prototypejs等其他库一起工作,因此我将jquery放在noconflict模式中。 但是,当我调整窗口大小时,firebug会给我以下通知
TypeError:迭代器不是函数[了解更多] prototype.js:859:7 forEach自托管:每人265:9 http://iusefaith.com/js/prototype/prototype.js:859:7 compressEvent http://iusefaith.com/design/design1/app/common/assets/js/cache/front-2017073101.min.js:6579:13 http://iusefaith.com/design/design1/app/common/assets/js/cache/front-2017073101.min.js:6575:1
我认为我已经以正确的方式将jquery置于noConflict模式中。这是我的javascript代码,没有冲突模式
<!-- include javascript -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="js/jquery/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$.noConflict();
</script>
...
<script src="js/prototype/prototype.js" type="text/javascript"></script>
...
<script src="design/design1/app/common/assets/js/cache/jquery-plugin-2017073101.min.js"></script>
<script src="design/design1/app/common/assets/js/cache/front-2017073101.min.js"></script>
我是这类错误的新手所以请当jquery是noconflict模式时,如何解决TypeError迭代器不是prototypejs的函数?
答案 0 :(得分:2)
我认为这是你正在使用的调整大小javascript中的一个非常具体的问题/错误 - 这修复了你的js错误
windowResizeClass的压缩方法中front.js的第6579行
从
更改方法的内容 for (var k in windowResizer.resizeHandlers) {
windowResizer.resizeHandlers[k]()
}
到
windowResizer.resizeHandlers.each(function(item){
item();
});