我想在超链接的点击事件上有条件地显示一个 JQuery 对话框。
我有一个要求,例如在条件 1 上打开一个 JQuery 对话框,如果不满足条件 1,请导航到其点击事件有问题的“href”标签所引用的页面。
我可以在链接的点击事件上调用一个函数。这个函数现在通过执行另一个 URL(执行我的 Spring 控制器并返回响应)来检查上述条件。
只有 window.open 被弹出窗口阻止程序阻止,所有工作都很完美。
$('a[href*=/viewpage?number]').live('click', function(e) {
e.preventDefault();
redirectionURL = this.href;
pageId= getUrlVars(redirectionURL)["number"];
$.getJSON("redirect/" + pageId, {}, function(status) {
if (status == null) {
alert("Error in verifying the status.");
} else if(!status) {
$("#agreement").dialog("open");
} else {
window.open(redirectionURL);
}
});
});
如果我e.preventDefault();
从代码中删除,弹出窗口阻止程序不会阻止页面,但是对于条件 1,它会打开对话框并打开“href”页面。
如果我解决了一个问题,就会给另一个问题带来问题。我无法同时为这两种情况伸张正义。
你能帮我解决这个问题吗?
一旦解决了这个问题,我还有另一个问题要解决,即对话的 OK 事件导航:)