【发布时间】:2021-06-13 12:29:28
【问题描述】:
伙计们,我的 jQuery 代码有问题我写了一些代码,当单击按钮时会发出 ajax 请求,但单击按钮时出现问题我单击“否”,它仍然会监听“是”按钮,因此当我在其他按钮上单击“是”时,它会提交两次 ajax 请求,因此我想在用户单击“否”按钮时终止该功能。
这是我的代码 ->
function confirmDelete(id, dataType) {
$(".overlay").fadeIn();
$(".confirmDelete").fadeIn();
$(".confirmDelete").css("display", "flex");
$(".overlay").click(function () {
$(".overlay").fadeOut();
$(".confirmDelete").fadeOut();
});
$("#confirmDeleteYes").click(function (e) {
$(".overlay").fadeOut();
$(".confirmDelete").fadeOut();
$.ajax({
url: "/delete/" + dataType + "/" + id,
type: "DELETE",
data: {
_token: $('meta[name="csrf"]').attr("content"),
},
success: function (data) {
activateNotificationSuccess(data.message);
$(".closeSnackBar").click(function () {
$(this).parent().remove();
});
$("#" + dataType + data.id).remove();
},
error: function (error) {
console.log(error);
activateNotificationFail("Something went very wrong !!");
},
});
});
$("#confirmDeleteNo").click(function () {
$(".overlay").fadeOut();
$(".confirmDelete").fadeOut();
return false;
});
}
谁有解决办法?
【问题讨论】:
-
为什么你的事件处理器在函数里面?另外,显示您的 html 代码
-
好吧,我把它们放在函数里面,因为当按钮被点击时,我只是运行这个函数,它会为一些元素设置动画,然后才添加一个事件监听器,基本上我希望事件监听器在按钮点击时被激活。跨度>
-
同时显示相关的 html 代码。另外,将事件处理程序移到函数之外,因为这会导致代码出现问题(提交两次)
标签: javascript jquery laravel function exit