ハイパーリンクのクリックイベントで条件付きでJQueryダイアログを表示したい。
condition1のような要件があり、jQueryダイアログを開いて、condition1が満たされない場合、クリックイベントが問題となっている「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();
コードから削除しても、ポップアップブロッカーはページをブロックしませんが、condition1の場合はダイアログを開き、 'href'ページを開きます。
私が問題を解決すると、別の問題が発生します。両方の条件を同時に正義することはできません。
この問題の解決を手伝っていただけませんか?
これが解決したら、別の問題、つまりダイアログのOKイベントでのナビゲーションを解決する必要があります:)