javascript - 如何在 ajax 调用之前禁用链接并在 jQuery 中响应后启用链接
问题描述
我想在 ajax 调用之前禁用链接,并在 ajax 响应之后立即启用链接。这是我正在尝试的,但它不起作用:
jQuery(this).prop('disabled', false);
这是我在 jQuery 中的链接点击事件:
jQuery("#save").click(function (e) {
e.preventDefault();
var pcid = jQuery(this).data('pcid');
var id = jQuery(this).data('id');
jQuery(this).prop('disabled', true);
var state = jQuery('.state').html();
jQuery.post(ajaxurl, data, function (response) {
console.log(response.status);
jQuery(this).prop('disabled', false);
});
});
一切正常,但在单击链接和 ajax 响应后,链接没有被禁用和启用。
这是标签的 HTML:
<a id="save" href="#">SAVE</a>
解决方案
在按钮单击的那一刻,您可以尝试禁用它。
$("#save").click(function(e) {
$(this).attr('disabled','disabled');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button type="submit" id="save">SAVE</button>
当你得到正面或负面的结果时,你应该使用选择器而不是“this”。
$("#save").removeAttr('disabled');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button type="submit" id="save">SAVE</button>
推荐阅读
- unity3d - 一枪后枪冻结然后不起作用
- javascript - 如果在 Nest.js 中不能使用“any”,那么架构中字段的类型应该是什么?
- firebase - firebase 功能在 blaze 计划上部署计费问题
- android - ViewStub 元素找不到 BindingAdapter
- android - beeware将toga imageview添加到android
- c++ - 队列和文本文件
- amazon-web-services - AWS Data Exchange 限制如何避免?
- angular - NgRx 存储选择器单元测试
- java - 如何使用以当前日期为输入的java获取下一个日期
- c# - Xna 可破坏的墙壁