[英]Return false not working after ajax call to block HREF value of anchor tag
我有这样的链接。
<a class="case" href="/communication/index">Link Name</a>
我有一个处理程序。
$('.case').on('click',function () {
checkCaseIsParked(this);
});
在此checkCaseIsParked方法中,我进行了ajax调用,并在成功后比较返回值,如果为true,则希望阻止它进入下一个站点,即href上的链接。
success: function (result, status, xhr) {
if (result) { return false; }
else { return true };
}
我尝试过返回假但没有运气
return false
必须同步发生。 由于您直到响应返回后才知道是否应该进行重定向,因此无论返回什么,都应return false
(或preventDefault()
),然后,如果响应表明重定向正常,请手动click()
它:
const checkCaseIsParked = elm => { console.log('processing'); setTimeout(() => { if (elm.id === 'case') { elm.click(); } else { console.log("failed"); } }, 1000); }; $('#case, #case2').on('click', function(event) { if (event.originalEvent.isTrusted) { // event was triggered by user input, not by Javascript checkCaseIsParked(this); event.preventDefault(); } });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <a id="case" href="/communication/index">pass</a> <a id="case2" href="/communication/index">fail</a>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.