【问题标题】:Remove previous .on() event after ajax requestajax 请求后删除先前的 .on() 事件
【发布时间】:2018-07-17 07:37:12
【问题描述】:

Ajax 请求 (Ajax.BeginForm) 之后,我正在加载部分页面(在 ASP.NET-MVC 中)。

在该页面中,我有一些 jQuery .on 处理程序,我无法在其他地方移动(因为它呈现了一些 @Model 属性;即它必须保留在该部分页面上):

$(document).on("click", "#test", function (e) {
    var myVar = '@Model.MyVar';

    // code
});

问题是:一旦我重新加载该部分,然后单击#test,它就会被调用两次。如果我再次重新加载,它会被调用 3 次,以此类推。

因为处理程序在每个 ajax 调用上都是重复的。 有没有办法删除以前的.on如果有)?还是让它独一无二

【问题讨论】:

标签: jquery ajax


【解决方案1】:

您只需要使用.off() 事件:

$(document).off("click", "#test");
$(document).on("click", "#test", function (e) {
    var myVar = '@Model.MyVar';

    // code
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    • 2016-11-03
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    相关资源
    最近更新 更多