当jquery是noconflict模式时,如何解决TypeError迭代器不是prototypejs的函数

时间:2017-11-05 16:02:04

标签: javascript jquery prototypejs

我有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的函数?

1 个答案:

答案 0 :(得分:2)

我认为这是你正在使用的调整大小javascript中的一个非常具体的问题/错误 - 这修复了你的js错误

windowResizeClass的压缩方法中front.js的第6579行

更改方法的内容
    for (var k in windowResizer.resizeHandlers) {
        windowResizer.resizeHandlers[k]()
    }

    windowResizer.resizeHandlers.each(function(item){
            item();
    });