TypeError: $(...).magnificPopup is not a function

TypeError: $(...).magnificPopup is not a function

我正在使用 chrome 开发者版。该库未加载,我不明白为什么。 chrome 控制台中报告了该错误。这是我的代码:

<ul><li><a class="mediaimage-link" href="~/img/HP/mediakit/The-CorPath-Vascular-Robotic-System_HR.jpg"><img src="~/img/HP/The-CorPath-Vascular Robotic-System-187.jpg" alt="">
</a></li>
<li><a href="https://www.youtube.com/watch?v=TnQsToiKKgw?rel=0&amp;showinfo=0" class="popup-youtube"> <img src="~/img/HP/Iyer-Video-187.jpg" alt=""></a>
         </li>
</ul>

$(document).ready(function() {
  //Media Image Popup
  $('.mediaimage-link').magnificPopup({type:'image'});
  //Video Iframe Popup
    $('.popup-youtube').magnificPopup({
          disableOn: 700,
          type: 'iframe',
          mainClass: 'mfp-fade',
          removalDelay: 160,
          preloader: false,
          fixedContentPos: false
        });
});`

您可能没有在代码中包含 JQuery 库。请记住,JQuery 文件必须放在所有其他 Javascript 代码之上。

$(document).ready(function ($) {
    $('.test-popup-link').magnificPopup({
    type: 'image',
    gallery: {
            enabled: true,
            navigateByImgClick: true,
            preload: [0,1] // Will preload 0 - before current, and 1 after the current image
          }
    // other options
  });
  });

只需在 $(document).ready(function ($) 中传递 $ 它将开始工作

我今天遇到了完全相同的问题:magnificPopup 几周以来工作正常。突然我得到了同样的“magnificPopup 不是函数”错误。

将 $ 添加到行 (document).ready(function ($) { 中解决了我的问题,但我仍然想知道为什么(就像上面的 Rick)。

甚至 https://dimsemenov.com/plugins/magnific-popup/documentation.html 的文档仍然说,调用是这样的:

$(document).ready(function() {
  $('.image-link').magnificPopup({type:'image'});
});