【发布时间】:2023-04-08 22:05:01
【问题描述】:
我知道关于 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(); 来解决它,但这不起作用,因为我认为这可能是两个脚本之间的冲突。我发现摆脱错误消息的唯一方法是删除两个脚本文件之一或删除$.getScript(...),但我不想这样做。我希望能够让这两个脚本在页面中正常运行。
JS:
$(document).ready(function(){
//jQuery.noConflict();
$.getScript("more-content-arrow.js", function(){
alert("arrow script loaded and executed.");
});
});
我在这里重新创建了一个带有未捕获类型错误的 jsfiddle:
【问题讨论】:
-
您的代码似乎可以正常工作。我运行了它,只是得到了消息框,没有任何错误。当然,正如@yezzz 建议的那样,我删除了一个额外的 embed.js 。所以也许这就是原因。
-
@jrook 猜你没有滚动
-
我也认为是这个原因,但看起来不是,所以我删除了我的答案。
标签: javascript jquery error-handling typeerror getscript