JQuery event.preventDefault()が設定されているときにwindow.openでポップアップブロッカーをバイパスする
ハイパーリンクのクリックイベントで条件付きで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イベントでのナビゲーションを解決する必要があります:)