2013-12-05 3 views
1

Я хотел показать, что ShareThis виджет на Twitter Bootstrap модальный, однако код говорит сделать следующее:ShareThis на Twitter Bootstrap модальный

<span class='st_facebook_hcount' displayText='Facebook'></span> 
<span class='st_twitter_hcount' displayText='Tweet'></span> 
<span class='st_plusone_hcount' displayText='Google +1'></span> 
<span class='st_email_hcount' displayText='Email'></span> 

так, что я сделал, что на shown.bs Bootstrap в .modal события у меня есть:

var switchTo5x=true; 
    $.getScript("http://w.sharethis.com/button/buttons.js", function(){ 
     stLight.options({publisher: "c68c8f6c-c670-419b-b8e2-23772e22a861", doNotHash: false, doNotCopy: false, hashAddressBar: false, popup: 'true'}); 

    }); 

однако в следующий раз я открываю другую модальность, то эта кнопка доли не загружается. Я предполагаю, что это потому, что getScript уже существует?

ответ

3

Попробуйте после открытия новой модальности:

stButtons.locateElements(); 

Он будет искать новые кнопки, и она будет их экземпляры.

Edit: Listen to the show.bs.modal event to handle it:

$('#myModal').on('show.bs.modal', function() { 
    stButtons.locateElements(); 
}) 

Edit2: Ok после прочтения вашего комментария я думаю, что окончательное решение:

var switchTo5x=true; 
    $.getScript("http://w.sharethis.com/button/buttons.js", function(){ 
     stLight.options({publisher: "c68c8f6c-c670-419b-b8e2-23772e22a861", doNotHash: false, doNotCopy: false, hashAddressBar: false, popup: 'true'}); 
     stButtons.locateElements(); 
    }); 
+0

, что ничего не делает, на самом деле, если я положил его в моей getScript, он работает =). Но я понял, я согласен с ответом – adit

+0

Хорошо, я обновил ответ. Правильно ли это? :) –

+1

У меня была такая же проблема с кнопками ShareThis без ответа. Я обновлял содержимое страницы с помощью AJAX и инструментария PURE JS templating. Не загружайте скрипты ShareThis при загрузке страницы и вместо этого загружайте их с помощью идеи getScript. –

Смежные вопросы