前提・実現したいこと
jsファイルで関数を作って,htmlのonclickから発火させたい。
発生している問題・エラーメッセージ
scriptタグ直で書いた関数(test)は実行できるが、jsファイル由来の関数(test)は実行されずReferenceErrorとなってしまう。
1:170 Uncaught ReferenceError: test is not defined
該当のソースコード
php
1<x-app-layout> 2 <div class="py-12"> 3 <div class="max-w-7xl mx-auto sm:px-6 lg:px-8"> 4 <div class="max-w-5xl w-full mx-auto bg-white overflow-hidden shadow-sm sm:rounded-lg"> 5 <div class="p-6 mx-auto bg-white border-b border-gray-200 text-center"> 6 <h1 class="text-4xl mb-4">{{ $group->title }}</h1> 7 <p class="mb-8">製作者: {{ $group->username }}</p> 8 <p class="mb-8">問題数: {{ $count }}</p> 9 <div class="relative max-w-md mx-auto"> 10 <label style="left: 10.5rem" class="py-1 px-2 -top-4 bg-white absolute" for="info"> 11 クイズの概要 12 </label> 13 <p class="w-full py-4 px-4 mb-8 border border-yellow-500" id="info" class="mb-8"> 14 {{ $group->information }}</p> 15 <label for="good-count"> 16 いいね 17 </label> 18 <p id="good-count" class="mb-8 mt-2"><span data-control="0" onclick="test()" 19 class="fas fa-heart mr-3 cursor-pointer"></span>{{ $group->good_count }}</p> 20 <div class="flex flex-col"> 21 <button data-control="1" class="mb-8 border border-sky-400 py-2 px-4">お気に入りに追加</button> 22 <button 23 class="py-2 px-4 text-white border border-red-400 bg-red-400 focus:border-red-500 focus:bg-red-500 animate-pulse">クイズを解く</button> 24 </div> 25 </div> 26 </div> 27 28 </div> 29 </div> 30 </div> 31 <script src="{{ asset('js/like.js') }}"></script> 32 <script> 33 // test(); 34 // function test() { 35 // console.log('test'); 36 // } 37 </script> 38</x-app-layout> 39
javascript
1function test() { 2 console.log('test'); 3} 4 5// test();
試したこと
laravelMixで新たなエントリーポイントを作り(like.js)それを、scriptで読み込ませています。
like.js自体は、200でしっかりと読み込まれています。
npm run dev でコンパイルしてます。
like.js内で、test()を実行したところ、testとコンソールに表示されました。しかしhtmlからは上手く実行できないのが謎です。
また js/like.jsで読み込んだ後のスクリプトでも、test()の実行を試みましたが、同じエラーが起きました。グローバルスコープであるはずなのになぜでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/09 22:43
2021/09/14 06:35
2021/09/18 07:21
2021/09/18 08:56
2021/09/18 11:41
2021/09/18 11:42
2021/09/18 12:09