1

ブートストラップのポップオーバー コンポーネントに少し問題があります。

私のフォームの 1 つは複数の動的に追加された要素を持つことができるので、ポップオーバーのセレクター オプションを使用してこれらすべてに動的にポップオーバーを追加する必要があります。これはうまくいきます。

ただし、新しいポップアップがクリックされたときに他のポップアップを閉じたいので、何らかの理由でこれを使用$(body).on("click", "selector")して呼び出しているため、問題が発生するようです。クリックされた最初のポップアップが表示され、他のポップアップは表示されず、すべてバグが発生します$('selector').not(this).popover('hide');.

セレクターを使用しないようにポップオーバーを変更すると、これは機能します。私が考えることができる唯一のことは、jQueryが発生するイベントを注文する方法に何かがあるということですか?

http://jsfiddle.net/nzM6F/10/

4

2 に答える 2

0

popover() を .popover クラスに追加してみてください:

$("body").append('<div id="popover">I am popover content</div>');
$('#popover').hide();

var bindToMe = $("#popover").html();

$(".pover").popover({
    content: bindToMe,
    placement: 'right',
    html: true,
    trigger: 'manual'
});

$(".pover").click(function(e) {
    $(".pover").not($(this)).popover('hide');
    $(this).popover('show');
  });

参照: http://jsfiddle.net/bassjobsen/nzM6F/15/

于 2013-06-07T12:58:21.303 に答える
0

何らかの理由selector:で、ポップオーバーで を使用するとバグが発生します。

これを試して:

$("[rel=popover]").popover({
    content: bindToMe,
    placement: 'right',
    html: true
});

http://jsfiddle.net/skelly/nzM6F/11/

bodyまた、セレクターよりも優れたパフォーマンスが得られます。

于 2013-06-07T12:08:23.563 に答える