当处理 ajax 请求时,我想将按钮(实际上是 div)上的文本更改为“正在工作”。我还想禁止它们再次被点击,直到 ajax 进程结束。如果是,我想启用按钮并将文本更改回“保存”。
我正在考虑使用 JQuery .ajaxStart() 和 .ajaxStop() 全局事件来处理这个问题。像这样的东西:
$(document).ajaxStart(function () {
$('#btnSave').each(function() {
$(this).data('eventsbackup', $(this).data('events'));
$(this).data('events', null);
$(this).html('Working...');
});
});
$(document).ajaxStop(function() {
$('#btnSave').each(function () {
$(this).html('Save');
$(this).data('events', $(this).data('eventsbackup'));
$(this).data('eventsbackup', null);
});
});
你觉得这种方法有什么问题吗?我有点担心将 .data('event') 设置为 null 而不是使用 unbind(),但我无法确定按钮绑定了多少事件。这种方法会导致问题吗?