Объект не поддерживает свойство или метод, но отображается в 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 до тех пор, пока просто буду придерживаться этой работы вокруг