Объект не поддерживает свойство или метод, но отображается в intellisense

Я пытаюсь отобразить всплывающее окно в моем веб-приложении. Я скачал действительно хорошую библиотеку java-скриптов под названием bPopup и добавил ссылку на скрипт на страницу, но когда я запускаю приложение, я получаю следующую ошибку:

Я убедился, что ссылка на скрипт для bPopup добавлена ​​после ссылки на скрипт для jQuery. Я также подумал, что, возможно, версия jQuery, которую я использую (jquery-1.8.2.js), не поддерживается, поэтому я создал приложение WebForms и попытался сделать всплывающее окно там, и оно работает, но в приложении MVC 4.0 я получить вышеупомянутую ошибку. Также, когда я набираю $("#elementId") и нажимаю . Я могу видеть bPopup в intellisense, но по какой-то причине, когда я пытаюсь вызвать его в document.ready(), я получаю ошибку.

Скрипт ссылок в виде:

<link href="../../Content/animate.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.8.2.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.bpopup-0.9.4.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.easing.1.3.js" type="text/javascript"></script>
<script src="../../Scripts/knockout-2.2.0.js" type="text/javascript"></script>
<script src="../../Scripts/knockout-2.2.0.debug.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $('#popup').bPopup();
    });
</script>

HTML для всплывающего окна:

<div id="popup">
    Content of popup
</div>

1 ответ

Единственный способ решить эту проблему - использовать getScript.

 $.getScript("../../Scripts/jquery.bpopup-0.9.4.min.js", function () {
        $('#popup').bPopup({
            easing: 'easeOutBack', //uses jQuery easing plugin
            speed: 800,
            transition: 'slideDown'
        });
    });

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

Другие вопросы по тегам