How to resolve this error type 'Uncaught TypeError: (...) is not a function'?

How to resolve this error type 'Uncaught TypeError: (...) is not a function'?

我在 Whosebug 上知道另一个类似的问题并查看了它,但它并没有 answer/resolve 我遇到的错误发生的情况.

我正在尝试使两个脚本 embed.js(插件)和 more-content-arrow.js(我的脚本)在加载文档时在页面上正常工作。何时以及如果我删除其中一个脚本,一个或另一个将起作用,但两个脚本不能一起使用。当页面首先完成加载时,它会正确加载 more-content-arrow.js,然后当它再次被滚动事件触发时,它会在控制台浏览器中给出此错误消息:

VM249 embed.js:2 Uncaught TypeError: ((fe.event.special[s.origType] || (intermediate value)).handle || s.handler).apply is not a function
    at dispatch (VM249 embed.js:2)
    at m.handle (VM249 embed.js:2)

我试图通过添加 jQuery.noConflict(); 来解决它,但这不起作用,因为我认为这可能是两个脚本之间的冲突。我发现消除错误消息的唯一方法是删除两个脚本文件之一或删除 $.getScript(...),但我不想这样做。我希望能够在页面中正确保留这两个脚本 运行。

JS:

$(document).ready(function(){
  //jQuery.noConflict();
  $.getScript("more-content-arrow.js", function(){
    alert("arrow script loaded and executed.");
  });
});

我在此处重新创建了一个带有未捕获类型错误的 jsfiddle:

https://jsfiddle.net/wr6cc2ct/2/

您的错误似乎出现在您的 more-content-arrow.js 文件中,您传递的整数作为第三个参数不是处理程序,这里是 jquery 文档 .on()

$(window).on('scroll', function () {
    if (!footerIsVisible) {
        $('.bounce').fadeIn(300);
    }
}); // <--- removed integer here.

更新

或者,您可以使用 event.stopPropagation(); 并重新排序 jquery.unevent.js 脚本 ember.js 脚本之后。

$(window).on('scroll', function (e) {
    e.stopPropagation();
    if (!footerIsVisible) {
        $('.bounce').fadeIn(300);
    }
}, 800);