【发布时间】:2021-01-13 00:34:56
【问题描述】:
我在本地创建了一个 Laravel 5.6 项目。
我在<head> 中有<script src="{{ asset('js/app.js') }}" defer></script>
在其中一种观点中,我尝试了
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery( "#ddtype" ).change(function() {
alert( "Handler for .change() called." );
});
});
</script>
但它给了我jQuery is not defined 错误
如果我尝试 Bootstrap 4 的折叠功能,它可以正常工作。这是否意味着已经包含了 jQuery?
我已经完成了npm install 和npm run dev
我的resources/js/app.js 需要bootstrap.js,如下所示(不是完整代码,而是前几行)
window._ = require('lodash');
window.Popper = require('popper.js').default;
/**
* We'll load jQuery and the Bootstrap jQuery plugin which provides support
* for JavaScript based Bootstrap features such as modals and tabs. This
* code may be modified to fit the specific needs of your application.
*/
try {
window.$ = window.jQuery = require('jquery');
require('bootstrap');
} catch (e) {}
请指教。我已经检查了不同的浏览器以确保没有缓存问题等。
更新
我的 layouts/app.blade.php 结构是这样的 -
<html>
<head>
....
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
....
</head>
<body>
<div id="app">
@include('layouts.nav')
<main class="py-4">
@yield('content')
</main>
</div>
</body>
</html>
和myview.blade.php
@extends('layouts.app')
@section('content')
.....
.....
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery( "#ddtype" ).change(function() {
alert( "Handler for .change() called." );
});
});
</script>
@endsection
【问题讨论】:
-
这意味着引导程序包括 jquery,我想。
-
是的,我就是这么想的。不确定这里出了什么问题?
-
app.js包含在之后你使用你的js代码? -
是的。请看我上面的更新。我已经添加了结构。
-
您需要编译 (laravel.com/docs/5.6/mix#installation) (
npm install) 资源并将app.js(<script src="/js/app.js"></script>) 包含到您的视图中