Я хочу отображать диалоговое окно 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 в диалоге :)