Javascript jquery与$(document.on)一起发布删除变量

Javascript jquery与$(document.on)一起发布删除变量,javascript,php,jquery,document,Javascript,Php,Jquery,Document,我有这段代码,但没有它工作的(doc on),告诉div在重新加载按钮不工作后重新加载。(doc打开)事件触发但删除变量有什么想法吗 $(document).on(".status").click(function (event) { event.preventDefault(); var ids = $(this).attr("data-id-status"); var status = $(this).attr("data-status"); var rec

我有这段代码,但没有它工作的(doc on),告诉div在重新加载按钮不工作后重新加载。(doc打开)事件触发但删除变量有什么想法吗

 $(document).on(".status").click(function (event) {
    event.preventDefault();
    var ids = $(this).attr("data-id-status");
    var status = $(this).attr("data-status");
    var record = this;
    $(record).attr('class', 'btn btn-danger big-bnt prams');
    $(record).prop('disabled', true);
    $(record).html('Precessing');
    $.ajax({
        url: 'ajax.php',
        type: 'post',
        data: {action: 'status', id: ids, status: status},
        success: function (data, status) {
            alert(data);
            if (data == '0') {
                $('#flag-view').fadeOut(800, function () {
                    $("#r" + ids).remove();
                    $('#flag-view').fadeIn().delay(2000);
                });
            }
            else if (data == '2') {

            }
            else if (data == '3') {

            }
        },
        error: function (xhr, desc, err) {
            console.log(xhr);
            console.log("Details: " + desc + "\nError:" + err);
        }
    }); // end ajax call
})

你的申报不正确


你的申报不正确

这不是工作原理

是一个帮助函数,用于将事件处理程序添加到元素(带有可选选择器),如下所示:

$(document).on("click", ".status", function (event) {
    // Do your stuff here
});
$(document).find(".status").on("click", function (event) {
    // ...
});
这样做(提供选择器)将使其成为委托处理程序。只有一个事件处理程序被添加到
文档中
,任何冒泡的事件都将被捕获并提供给回调函数

您还可以将事件处理程序直接添加到元素(或元素集合),如下所示:

$(document).on("click", ".status", function (event) {
    // Do your stuff here
});
$(document).find(".status").on("click", function (event) {
    // ...
});
如果删除了添加处理程序的
.status
元素,则处理程序也将被删除

jQuery中的事件处理一开始可能有点混乱,但它是非常合乎逻辑的。我建议您更好地了解它的工作原理。

这不是工作原理

是一个帮助函数,用于将事件处理程序添加到元素(带有可选选择器),如下所示:

$(document).on("click", ".status", function (event) {
    // Do your stuff here
});
$(document).find(".status").on("click", function (event) {
    // ...
});
这样做(提供选择器)将使其成为委托处理程序。只有一个事件处理程序被添加到
文档中
,任何冒泡的事件都将被捕获并提供给回调函数

您还可以将事件处理程序直接添加到元素(或元素集合),如下所示:

$(document).on("click", ".status", function (event) {
    // Do your stuff here
});
$(document).find(".status").on("click", function (event) {
    // ...
});
如果删除了添加处理程序的
.status
元素,则处理程序也将被删除


jQuery中的事件处理一开始可能有点混乱,但它是非常合乎逻辑的。我建议您更好地了解它是如何工作的。

您所说的“事件触发但删除变量”是什么意思?请您进一步解释一下?单击运行的jquery事件可以添加一个警报,并显示在screenevent委派中,只是说。当您用Ajax替换东西时,您将丢失直接在这些元素上设置的任何绑定。发布的答案将事件绑定到文档上,并将
单击
委派给您的元素(基本上,不解释冒泡)。因此,当在文档中单击时,它会搜索您的元素。你所说的“事件触发但删除变量”是什么意思?点击运行的jquery事件我可以添加一个警报,它显示在screenevent委托中,只是说。当您用Ajax替换东西时,您将丢失直接在这些元素上设置的任何绑定。发布的答案将事件绑定到文档上,并将
单击
委派给您的元素(基本上,不解释冒泡)。因此,当在文档中单击时,它会搜索您的元素。而不是直接绑定。