Bootstrap: TypeError: $(...). Modal не является функцией
я пытался вызвать модал начальной загрузки из jquery и продолжаю получать это сообщение об ошибке:
TypeError: $(...).modal is not a function
Вот мой код:
<button id="btnTest" class="btn btn-default">Show Modal</button>
<div id="dummyModal" role="dialog" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" data-dismiss="modal" class="close">×</button>
<h4 class="modal-title">Error</h4>
</div>
<div class="modal-body">
<p>Quick Brown Fox Jumps Over The Lazy Dog</p>
</div>
<div class="modal-footer">
<button type="button" data-dismiss="modal" class="btn btn-default">Close</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/js/jquery-1.11.3.js"></script>
<script type="text/javascript" src="/js/bootstrap.js"></script>
<script type="text/javascript">
$('document').ready(function () {
$('#btnTest').click(function () {
$('#dummyModal').modal('show');
});
});
</script>
К вашему сведению, я использую Boosttrap 3.3.5 и JQuery 1.11.3. я пробовал jQuery.noConflict();... etc
jQuery.noConflict();... etc
из этой темы, но все равно не повезло. Здесь полный код
Ответы
Ответ 1
Используйте это.
Это будет работать.
Я использовал bootstrap 3.3.5
и jquery 1.11.3
$('document').ready(function() {
$('#btnTest').click(function() {
$('#dummyModal').modal('show');
});
});
body {
background-color: #eee;
padding-top: 40px;
padding-bottom: 40px;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<title>Modal Test</title>
</head>
<body>
<div class="container">
<button id="btnTest" class="btn btn-default">Show Modal</button>
<div id="dummyModal" role="dialog" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" data-dismiss="modal" class="close">×</button>
<h4 class="modal-title">Error</h4>
</div>
<div class="modal-body">
<p>Quick Brown Fox Jumps Over The Lazy Dog</p>
</div>
<div class="modal-footer">
<button type="button" data-dismiss="modal" class="btn btn-default">Close</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</body>
</html>
Ответ 2
Я также столкнулся с такой же ошибкой, когда я пытался вызвать bootstrap modal из jquery. Но это происходит потому, что мы используем bootstrap modal, и для этого нам нужно прикрепить один cdn bootstrap.min.js, который
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
Надеюсь, это поможет, поскольку я пропустил это, когда я пытался вызвать bootstrap modal из jQuery, используя
$('#button').on('click',function(){
$('#myModal').modal();
});
myModal
- это идентификатор Bootstrap modal
и вы должны дать клик на кнопку, когда вы нажмете эту кнопку, появится всплывающее модальное сообщение.
Ответ 3
Я получал ту же ошибку из-за добавления jquery CDN (<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
) два раза в заголовке HTML.
Ответ 4
Если вы используете любую страницу макета, переместите разделы script из нижней части в головную часть на странице макета. bcz, сначала загружаются файлы javascript. Это сработало для меня