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