2016-10-19 8 views
0

がここに私のポップオーバー要素であるブートストラップポップオーバー内で正常に動作しません。それをクリックすると何かが共有されます。ただし、クリックイベントは正しくトリガされません。ポップオーバーが表示されているときに使用できる共有ボタンをクリックすると、3回のクリックのうち1回または2回失敗します。ボタンクリックは

var options = {}; 
options.content = function() { 
     return "<ul class='social social-list'>" + 
       "<li><a id='fa-facebook' class='social-fb'><i class='fa fa-facebook fa-lg'></i></a></li>" + 
      "</ul>"; 
     }; 

options.trigger = 'focus';  
options.html = true; 

$('[data-toggle="popover"]').popover(options).on('shown.bs.popover', function(){ 

    var fbShareEvent = $("#fa-facebook").data("events"); 
    if(!fbShareEvent){ 
    $("#fa-facebook").on("click",function(event){ 
     fbShare(); 
    }); 
    } 
} 
+0

SyntaxErrorがあります –

+0

@ルーシャン完全な実装ではないため、スニペット部分を削除しました。 –

答えて

0

半日を過ごした後、解決策が見つかりました。 popoverはフォーカスイベントによってトリガされるアクションを隠すので、クリックアクションがトリガされる前にポップオーバーが閉じられることがあります。 popoverオプションにdelayパラメータを追加しました。

options.delay = {'hide': 500}; 

このパラメータは、一定の時間、クローズ動作を遅らせます。したがって、クリックアクションは、ポップオーバーが閉じられる前に処理することができます。

関連する問題