gpt4 book ai didi

javascript - ajaxStop 在 jQuery 的 Click 事件中

转载 作者:行者123 更新时间:2023-11-30 10:47:37 25 4
gpt4 key购买 nike

我有以下代码,它在单击链接时显示确认 div。我第一次运行它时,当 ajax 请求完成时,deleteConfirmation div 向上滑动。但是,当我第二次尝试(不刷新)时,确认 div 每次向下滑动时都会向上滑动,即使未触发此点击也是如此。

$("#deleteConfirm").click(function() {

if(debug)
console.log("deleting "+$("#deleteConfirmationCampaign").html());

$("#mappingsRemove").html("Deleting Campaign and Mappings...");

// remove each mapping underneath the campaign
deleteCampaign(apiUrl, "mappings", account+"/"+campaignToDelete[1], "confirmDelete");

$(document).ajaxStop(function() {

$("#mappingsRemove").html("Finished");

// slide up the delete confirmation dialog
$("#deleteConfirmation").slideUp();

});

});

我的 deleteCampaign 函数中出现了多个请求,我是否使用不当?

我认为这是第一次触发它为 ajaxStop 设置全局监听器。当然,这会像所有时间一样触发,所以它总是尝试向上滑动确认 div。也许我需要在第一次向上滑动后停止对 ajaxStop 的文档监听器?

任何建议都会有所帮助,谢谢!

最佳答案

你对发生的事情是正确的。但我不确定 ajaxStop 是最好听的事件。当所有请求都完成时它会触发,对吗?

我认为您只想对与 deleteCampain 函数相关的请求使用react。

当所有重要请求都返回时,您可以使用 deferreds 来执行函数。

var ajax1 = $.ajax("/deleteCampain.php"),
ajax2 = $.ajax("/deleteCampain2.php");

$.when(ajax1, ajax2).then(function(){
$("#mappingsRemove").html("Finished");
$("#deleteConfirmation").slideUp();
});

参见:

http://api.jquery.com/category/deferred-object/

http://api.jquery.com/jQuery.when

关于javascript - ajaxStop 在 jQuery 的 Click 事件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7337333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com