栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

防止Ajax调用中的JavaScript中的默认行为或标记单击事件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

防止Ajax调用中的JavaScript中的默认行为或标记单击事件

它不起作用,因为响应是异步的。e.preventDefault()仅在ajax调用从服务器获得响应后才执行。你可以这样做。

  1. 阻止所有操作使用默认操作。
  2. 等待回应。
  3. 如果响应不是1,则取消绑定preventDefault()。

我已经更新了for循环,并评论了更改。请检查一下。

for (var i = 0; i < ReviewButtons.length; i++) {        const ReviewButton = ReviewButtons[i];        ReviewButton.addEventListener('click', function (e) { let newRow = ReviewButton.parentElement.parentElement; let AuditorName = newRow.cells[2].innerText; let ReviewType = newRow.cells[8].innerText; let ReviewTypeID = 0; if (ReviewType == 'Peer Review') {     ReviewTypeID = 3; } else if (ReviewType == 'Team Leader Review') {     ReviewTypeID = 4; } else if (ReviewType == 'Supervisor Review') {     ReviewTypeID = 5; } let id = newRow.cells[0].firstChild.getAttribute('id').split('_')[1]; $.ajax({     url: $route,     type: 'POST',     data: { userName: userName, auditor: AuditorName, reviewType: ReviewTypeID, recordID: id },     beforeSend:function()     {         e.preventDefault(); //Prevent default action for all instances.     },     success: function (data) {         // if data is 1, prevent default         if(data != 1){  $(this).unbind('click'); // Restores the click default behaviour if data != 1  return false;         }     } });        }, false);    }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/388388.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号