id main上的remove()是通过单击另一个外部按钮来调用的.问题是如果用户单击btn1并快速按下该外部按钮,则会在btn1的事件处理程序之前调用remove.因此,在删除div之后加载弹出窗口.有没有一种方法可以在单击删除事件处理程序时停止加载请求?我在调用remove方法时尝试使用jqXHR.abort(),但这不起作用,因为在发送ajax之前调用了remove.
有许多按钮,比如btn1,它们会发送ajax请求加载HTML,而例如a.html的少量HTMlL文件会加载一些脚本文件,如a.js,这些文件将被执行.如果脚本引用了一些在remove()中删除的变量,则会出现TypeError.
var xhr;
$("#btn1").on("click", function(){
xhr = $.ajax(
url: "a.html",
success: function(){
//do something
}),
type: "GET"
});
$("#main").on("remove", function(){
// delete all resources,etc.
xhr.abort();
});