带有 Bootstrap 个导航标签的 SweetAlert
SweetAlert with Bootstrap nav tabs
我有一个 bootstrap 导航选项卡,其中包含 4 link 个(申请人、承保范围、地点、高级)。我在 Coverages 上有一个 jquery click 事件来验证申请人数据。如果失败,显示 sweetalert 并停留在申请人选项卡上:
$('#CoveragesTab').off('click').on('click', function (event) {
SaveApplicantTabData(function (retVal) {
if ("success" == retVal.status) {
}
else if ("failed" == retVal.status) {
event.stopImmediatePropagation();
swal(retVal.message, "Applicant Error", "error");
//alerta(retVal.message);
return false;
}
else if ("error" == retVal.status) {
event.stopImmediatePropagation();
alert(retVal.message);
return false;
}
});
});
在功能上,这非常有效,但 Coverages link 看起来仍然有焦点 - 选项卡的整个正方形都突出显示,就像悬停在选项卡上一样。它没有重点。我检查了开发人员工具,活动 link 和其他值一样正确。
如何从选项卡中删除焦点外观?
谢谢。
当验证失败时,您可以将 blur()
方法添加到 Coverages
导航选项卡 link:
$('#CoveragesTab').off('click').on('click', function (event) {
SaveApplicantTabData(function (retVal) {
if ("success" == retVal.status) {
}
else if ("failed" == retVal.status) {
event.stopImmediatePropagation();
swal(retVal.message, "Applicant Error", "error");
//alerta(retVal.message);
$(this).blur();
return false;
}
else if ("error" == retVal.status) {
event.stopImmediatePropagation();
alert(retVal.message);
return false;
}
});
});
经过反复试验,我终于想通了。我必须同时使用 event.stopImmediatePropogation 和 .blur().
$('#CoveragesTab').off('click').on('click', function (event) {
SaveApplicantTabData(function (retVal) {
if ("success" == retVal.status) {
}
else if ("failed" == retVal.status) {
event.stopImmediatePropagation();
$('#CoveragesTab').blur();
swal(retVal.message, "Applicant Error", "error");
return false;
}
else if ("error" == retVal.status) {
event.stopImmediatePropagation();
alert(retVal.message);
return false;
}
});
});
唯一的问题是,当您使用停止传播时,它会将 href 作为 url:
的一部分
http://localhost:3858/CreateQuote/EditQuote/1#coverages-tab
所以我必须从 url 中删除引用 ID。
有谁知道如何防止这种情况发生?
谢谢。
我有一个 bootstrap 导航选项卡,其中包含 4 link 个(申请人、承保范围、地点、高级)。我在 Coverages 上有一个 jquery click 事件来验证申请人数据。如果失败,显示 sweetalert 并停留在申请人选项卡上:
$('#CoveragesTab').off('click').on('click', function (event) {
SaveApplicantTabData(function (retVal) {
if ("success" == retVal.status) {
}
else if ("failed" == retVal.status) {
event.stopImmediatePropagation();
swal(retVal.message, "Applicant Error", "error");
//alerta(retVal.message);
return false;
}
else if ("error" == retVal.status) {
event.stopImmediatePropagation();
alert(retVal.message);
return false;
}
});
});
在功能上,这非常有效,但 Coverages link 看起来仍然有焦点 - 选项卡的整个正方形都突出显示,就像悬停在选项卡上一样。它没有重点。我检查了开发人员工具,活动 link 和其他值一样正确。
如何从选项卡中删除焦点外观?
谢谢。
当验证失败时,您可以将 blur()
方法添加到 Coverages
导航选项卡 link:
$('#CoveragesTab').off('click').on('click', function (event) {
SaveApplicantTabData(function (retVal) {
if ("success" == retVal.status) {
}
else if ("failed" == retVal.status) {
event.stopImmediatePropagation();
swal(retVal.message, "Applicant Error", "error");
//alerta(retVal.message);
$(this).blur();
return false;
}
else if ("error" == retVal.status) {
event.stopImmediatePropagation();
alert(retVal.message);
return false;
}
});
});
经过反复试验,我终于想通了。我必须同时使用 event.stopImmediatePropogation 和 .blur().
$('#CoveragesTab').off('click').on('click', function (event) {
SaveApplicantTabData(function (retVal) {
if ("success" == retVal.status) {
}
else if ("failed" == retVal.status) {
event.stopImmediatePropagation();
$('#CoveragesTab').blur();
swal(retVal.message, "Applicant Error", "error");
return false;
}
else if ("error" == retVal.status) {
event.stopImmediatePropagation();
alert(retVal.message);
return false;
}
});
});
唯一的问题是,当您使用停止传播时,它会将 href 作为 url:
的一部分http://localhost:3858/CreateQuote/EditQuote/1#coverages-tab
所以我必须从 url 中删除引用 ID。
有谁知道如何防止这种情况发生?
谢谢。