在从dom-jquery中删除元素后进行ajax调用

在从dom-jquery中删除元素后进行ajax调用,jquery,ajax,Jquery,Ajax,当我点击.main li时,我删除.sub ul的所有元素,但当我快速点击按钮多次时,删除完成,然后ajax调用正在运行 $(document).on('click','.main-li', function(){ if($(this).children('ul').children('li').remove()){ var topics = data; var sectionId = $(this).attr('data-id'); $.

当我点击
.main li
时,我删除
.sub ul
的所有元素,但当我快速点击按钮多次时,删除完成,然后ajax调用正在运行

$(document).on('click','.main-li', function(){
    if($(this).children('ul').children('li').remove()){
        var topics = data;
        var sectionId = $(this).attr('data-id');
        $.get('{{ GET_ILOS }}/'+select.value+'/'+sectionId, function(data){
            $.each(JSON.parse(data), function( key, value ) {
                var Input = '<li class="sub-li" data-id="'+value.id+'"  id="btn-li"> "'+value.name+'" </li>';
                $('#sub-'+value.section_id).append(Input);
                Input = '';
            });

        });

        $(this).find('.sub-ul').addClass('show');
        $(this).siblings().children('ul').removeClass('show');
        $(this).toggleClass('opened');
    }

});
$(文档).on('click','main li',function()){
if($(this).children('ul').children('li').remove()){
var主题=数据;
var sectionId=$(this.attr('data-id');
$.get({{get_ILOS}}/'+select.value+'/'+sectionId,函数(数据){
$.each(JSON.parse(数据)、函数(键、值){
var Input='
  • “+value.name+”
  • ”; $(“#sub-”+value.section_id).append(输入); 输入=''; }); }); $(this.find('.sub ul').addClass('show'); $(this).sides().children('ul').removeClass('show'); $(this.toggleClass('opened'); } });
    您所说的
    删除操作完成后ajax调用运行是什么意思。
    -代码就是这样做的。预期的行为是什么?意味着您需要:首先进行ajax调用,然后删除元素。或者首先删除元素,然后进行ajax调用?@mplungjan正如我理解的那样:单击按钮->ajax->更新UI(工作)。但单击按钮->第一个ajax->单击第二个按钮->第二个ajax->第一次更新->第二次更新(甚至第二次更新->第一次更新)。您可能希望在上一个ajax调用运行时禁用单击事件。当我多次单击按钮时,javascript存储对api的ajax调用并执行删除元素,然后javascript执行api存储函数