Я хочу условно отобразить диалог 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();
из кода, блокиратор popoup не блокирует страницу, однако для условия 1 он открывает диалог, а также открывает страницу "href".
Если я решаю один, он создает проблему для другого. Я не могу одновременно отдать должное обоим условиям.
Не могли бы вы помочь мне решить эту проблему?
Как только это будет решено, у меня есть еще одна проблема для решения, то есть навигации по диалогу OK event:)