クリックの前に関数が呼び出されてしまう
クリックしたときに confirmという名前の関数を呼び出そうとしているのですが、ウェブサイトを開いた瞬間に呼び出されてしまいます
試してみたこと
同じような関数を作ったのですがその時にはうまくいっています(コードに記載あり
なのでスペルミスはないか、書き方を間違えていないのかを確認しました
<body> <div id="js-question" class="question"> <div class="container"> <div id="question" class="question-wrapper"> </div> </div> </div> <div class="button-section"> <div class="button-wrapper"> <button id="button1"> <div class="button-container">テキストテキストテキスト</div> </button> <button id="button2"> <div class="button-container">テキストテキストテキスト</div> </button> <button class="button3"> <div class="button-container">テキストテキストテキスト</div> </button> </div> </div> <button class="submit">Submit</button>
<script> const question="問題問題問題問題"; const choice=[ "A", "B", "C" ]; document.getElementById('question').textContent=question; //問題文// const button = document.getElementsByTagName('button'); //ボタンタグ取得// const random=Math.floor(Math.random()*3); //ランダムな値を生成// const correct=random; for(var i=0;i<3;i++){ button[i].textContent=choice[i]; // テキストを代入 if (i==correct) { //押したボタンが正解だったら button[i].addEventListener("click", function(){ alert('正解です!'); }); } else { button[i].addEventListener("click", function(){ alert('不正解'); } ); } } document.getElementsByClassName('submit')[0].addEventListener("click",confirm()); function confirm(){ alert('この内容で提出しますか?'); } </script>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/03 01:30