ハイパーリンクのクリック イベントで条件付きで 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」ページを開きます。
1つを解決すると、別の問題が発生します。両方の条件を同時に正当化することはできません。
この問題を解決するのを手伝ってくれませんか?
これが解決したら、別の問題を解決する必要があります。つまり、ダイアログの OK イベントでのナビゲーションです:)