JQuery:On() 方法多次触发 [已关闭]

JQuery: On() method fires multiple times [closed]

提问人:relo80 提问时间:11/17/2023 最后编辑:Jayanika Chandrapriyarelo80 更新时间:11/21/2023 访问量:84

问:


编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答这个问题。

昨天关闭。

如果事件发生,以下代码将多次触发。.on("change")

具有该函数的 JavaScript 文件也可能多次包含在项目中。目前还无法改变这一点。我不确定这是否可能是原因。

为什么该函数可能会被多次调用,如何解决?

$(document).on("change", '.fileupload', function(e) {       
    alert("start upload");   
    e.preventDefault();  
    e.stopPropagation();    
    var formData = new FormData($('#fileuploadform')[0]);  
    get_ajaxcontent('url','FormData',formData,null);    
  });

我试图尝试不同的东西,但没有什么能帮助我找到原因并找到一种方法来运行该功能一次。

也许重要的是要知道更改属于文件上传的拖放区:-)

该页面是由大量 ajax 调用高度动态生成的,并且当前部分位于模态内部 - 也许它会有所帮助?

JavaScript jQuery

评论

1赞 David 11/17/2023
“因此,带有该函数的 javascript 文件也可能包含在项目中。”- 检查这一点的一种方法是在附加事件处理程序之前放置一个语句,并在浏览器调试器运行的情况下加载页面。如果调试器多次暂停该语句,则它会在页面上执行多次。debugger;
0赞 mplungjan 11/17/2023
现在使用控制台.log而不是警报。然后,您可以显示/隐藏消息。请勿在此类情况下发出用户警报。不过,您显示的代码不太可能做到这一点
0赞 chankruze 11/17/2023
事件呢?change drop
0赞 CBroe 11/17/2023
问题标题显示点击事件 - 不过这是一个提交处理程序。该怎么办?这是否可能加载,然后再次插入包含相同内容的 HTML 代码到文档中?get_ajaxcontent$(document).on("change" ...
2赞 Wyck 11/17/2023
“我试着玩弄不同的东西,但没有什么能帮助我找到原因......”在写一个问题时,这是一个不必要的陈述,因为它应该适用于Stack Overflow上提出的每个问题,因此可以省略。相反,更重要的是说出你尝试过的具体事情。说你尝试了“不同的事情”并不足以使这句话成为一个有用的陈述。

答: 暂无答案