Переопределение ссылки jsSocials для выполнения пользовательской функции

#javascript #jquery

#javascript #jquery

Вопрос:

Я пытаюсь переопределить функцию по умолчанию, которая включена в jsSocials , чтобы просто выполнить мою пользовательскую функцию общего доступа (которая позволяет изменять Facebook meta)

По умолчанию jsSocials HTML

 <div class="jssocials-share jssocials-share-facebook"><a href="#" class="jssocials-share-link"><i class="fa fa-facebook jssocials-share-logo"></i><span class="jssocials-share-label">Share</span></a></div>
  

Новая функция общего доступа с использованием shareOverrideOGMeta

 shareOverrideOGMeta(window.location.href, shareTitle, shareDesc, shareThumb);
  

Кажется простым, но по какой-то причине это не работает

 $("div.jssocials-share-facebook *").on('click', function(e){
  e.stopPropagation();
  shareOverrideOGMeta(window.location.href, shareTitle, shareDesc, shareThumb);
  console.log("share should be overridden");
});
  

Как я могу заставить это работать по-другому или исправить то, что я делаю неправильно, если это так просто?

Примечание: Новый общий код был протестирован с использованием нажатия клавиши и работает хорошо.

Ответ №1:

Я смог решить эту проблему, открепив и повторно привязав click обработчик ВНУТРИ функции, которая настроила общий доступ в социальных сетях.

   $(".jssocials-share-facebook *").unbind("click").on("click", function(e){
    e.stopPropagation();
    shareOverrideOGMeta(window.location.href, shareTitle, shareDesc, shareThumb);
  });