Javascript Chrome[VM]文件在每次加载中创建事件处理程序

Javascript Chrome[VM]文件在每次加载中创建事件处理程序,javascript,google-chrome-devtools,dom-events,Javascript,Google Chrome Devtools,Dom Events,我使用asp.net razor,并通过Jquery加载函数在部分视图中加载部分页面。部分视图中的部分脚本是如下所示的JavaScript事件: $("#FormId").on("submit", function () { //doSomeThing.. //ajax request .. $("ContainerDivId").load("UrlToAction"); //load partial view in ajax success function })

我使用asp.net razor,并通过Jquery加载函数在部分视图中加载部分页面。部分视图中的部分脚本是如下所示的JavaScript事件:

$("#FormId").on("submit", function () {
     //doSomeThing..
     //ajax request ..
     $("ContainerDivId").load("UrlToAction"); //load partial view in ajax success function
});
问题是每次加载都会创建事件,并绑定到另一个chrome VM文件中的另一个处理程序,因此通过单击submit按钮多次调用处理程序函数


我通过一个标志变量解决了这个问题,但我知道有一个干净的解决方案。我哪里出错了?

更改添加事件处理程序的代码以首先删除旧的事件处理程序:

$("#duplicateFacilityForm").off("submit").on("submit", function ...);