Яндекс блок «Поделиться» не появляется в динамически добавленном блоке

314
26 ноября 2016, 17:58

История такая: сайт из одной страницы, есть изначально скрытый (display:none) блок #ghost, в нем изначально пустой блок '.albom'. При клике на пункт меню JQ шуршит по базе картинок, находя подходящие делает $('.albom').append("
В этом аппенде к каждой '.picture' добавляется блок ya-share2 с параметрами соответствующей картинки.
Сразу после добавления я пытяюсь его инициализировать. Судя по всему неправильно.

Перечитал документацию и местные вопросы - ничего не помогло. Блок на сайте не виден.

Что я с этим Ya.share2 делаю не так?
Вопрос чайника. Первый сайт в моей жизни.

var findImages = function(mat, headText, bckGrnd) { //searches in myWorks array and creates .picture block for every appropriate image 
 
  var imgCount = myWorks.length; 
  if ($('.albom').html() == '') pictureID = 1; 
  for (i = 0; i < imgCount; i++) { 
    if (myWorks[i].material == mat) {           
       
      $('.albom').append("<div class='picture' id='" + pictureID++ +"'>" +  
        "<img src='" + myWorks[i].lnk + "'>" + 
        "<div class='ya-share2' data-services='facebook,vkontakte,twitter,gplus' data-lang='en'" + 
        "data-description='" + myWorks[i].name + " by Alex Titenkov' " + 
        "data-image='http://www.test.ru/" + myWorks[i].lnk + "'></div>" + 
        "</div>" 
      ); //end of append 
 
      var share = Ya.share2('pictureID', { //инициализация блока Поделиться 
        content: { 
          url: 'https://yandex.com' 
        } 
      }); 
    }; 
  }; 
 
  $('#ghost').css('display', 'block');  //показываем заполненный альбом 
};

Answer 1

Исходя из логики, что надо запустить скрипт после добавления блока, прямо в .append() добавил

"<script src='https://yastatic.net/share2/share.js' async='async'></script>"

Заработало.
При этом "var share = Ya.share2..." вообще не нужен.
Но, мне кажется, это как-то криво.
Умные, посоветуйте, а?

READ ALSO
Открыть ссылку в новом окне

Открыть ссылку в новом окне

Есть список ссылок с атрибутом type="popup"

197
Вызов C# функции из JavaScript кода

Вызов C# функции из JavaScript кода

Доброе время суток!! Скажите, ребята, как можно демонстрировать вызов C# функции из JavaScript, чтобы можно было после выполнении получить результат...

321
Динамческий DOM без HTML и CSS

Динамческий DOM без HTML и CSS

Нужен ответ от знающих людей а еще лучше примеры, ссылки, статьи и прочее куда копать и где почитать

158
Нужна загрузка из БД

Нужна загрузка из БД

Вот весь код https://jsfiddlenet/eqccoee6/ Есть сайт который загружает obj модели в строке 88 происходит указание модели

165