[英]How to resolve this error type 'Uncaught TypeError: (…) is not a function'?
我知道关于stackoverflow的另一个问题,并已经进行了研究,但是它不能回答/解决我所发生错误的情况。
我正在尝试使两个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();
来解决它jQuery.noConflict();
,但这不起作用,因为我认为这可能是两个脚本之间的冲突。 我发现摆脱错误消息的唯一方法是删除两个脚本文件之一或删除$.getScript(...)
,但是我不想这样做。 我希望能够使两个脚本在页面中正常运行。
JS:
$(document).ready(function(){
//jQuery.noConflict();
$.getScript("more-content-arrow.js", function(){
alert("arrow script loaded and executed.");
});
});
我在这里用未捕获的类型错误重新创建了一个jsfiddle:
您的错误似乎出现在more-content-arrow.js
文件中,您正在传递一个整数作为不是处理程序的第三个参数,这是.on()的jquery文档
$(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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.