6

フォーカストリガーとポップオーバー内のリンクを備えたポップオーバーがあります。

HTML:

<div class="tree">
    <div class="html-popup">
        Popup text <a href="http://www.google.com" target="_top">Link somewhere</a>
    </div>
    <a tabindex="0" role="button" data-container="body" data-toggle="popover" data-trigger="focus" data-placement="bottom">
        Text that has a popover
    </a>
</div>

JavaScript:

$('.tree [data-toggle="popover"  ]').popover({
    html: true,
    content: function () {
        return $(this).prev().html();
    }
});

これがライブサンプルです: JSFiddle

Chrome ではポップオーバーが閉じる前にリンクが開きますが、IE と Firefox ではポップオーバーを閉じるだけです。

IE9 と、かなり新しいバージョンの Firefox をサポートする必要があります。ポップオーバーが閉じる前にリンクを開くにはどうすればよいですか?

ありがとう!

4

8 に答える 8

5

タグ内のターゲットからアンダースコアを削除します.IEでは正常に動作します

    <div class="tree">
    <div class="html-popup"> Popup text <a href="http://www.google.com"   target="top">Link somewhere</a>
    </div>
<a tabindex="0" role="button" data-container="body" data-toggle="popover" data-trigger="focus" data-placement="bottom">
Text that has a popover</a>
</div>
于 2015-03-17T12:40:28.353 に答える
0

BebliucGeorge への回答。これは単純なケースでは機能しますが、ツールチップが 2 つ以上ある場合、別のトグルをクリックしてもポップオーバーが閉じないという新しいバグが発生します。

Example:

https://jsfiddle.net/vc7zn1o6/29/

于 2015-03-17T06:30:32.927 に答える
0

このコードをjsfiddleでのみ試しましたか?

もしそうなら、これは、この種の仮想アンビエントが iframe を使用して機能するために発生していますが、ほとんどのブラウザーはセキュリティ上の理由からリダイレクトを許可していません。「ターゲット」属性を削除すると、次のコンソール エラーが発生します。

X-Frame-Options によってロードが拒否されました: https://www.google.com.br/は、クロスオリジン フレーミングを許可しません。

iframe 内で作業している場合、適切なオプションは変更するtarget="_blank"ことです。それ以外の場合は機能するはずです。

于 2015-03-10T16:55:07.997 に答える