実現したいこと
JavaScript ボタンタグをクリックされたときにクリックされたボタンにクラスを追加したい
JavaScript ボタンタグをクリックされたときにクリックされたボタンにクラスを追加するようなサイトを作っています。
buttonタグのpadding箇所をクリックすれば理想的な動きをしていますが、spanタグや文字のあたりをクリックしてもクリックイベントが反応しません。
該当のコードは以下のようなコードです
該当のコード
HTML
1<button><span class="default">ボタン1</span><span class="clicked">ボタン1クリック</span></button>
CSS
1button { 2 padding: 30px; 3} 4 5.clicked { 6 display: none; 7} 8 9.button-clicked .default { 10 display: none; 11} 12 13.clicked { 14 display: none; 15} 16 17.button-clicked .clicked { 18 display: block; 19}
JavaScript
1// ボタンの要素を取得 2const buttons = document.querySelectorAll('button'); 3 4// ボタンがクリックされた時の処理を定義 5function handleClick(event) { 6 const button = event.target; 7 // "clicked"クラスを追加 8 button.classList.add('button-clicked'); 9 // 3秒後に"clicked"クラスを削除 10 setTimeout(() => { 11 button.classList.remove('button-clicked'); 12 }, 3000); 13} 14 15// 各ボタンに対してクリックイベントのリスナーを登録 16buttons.forEach(button => { 17 button.addEventListener('click', handleClick); 18});
spanのテキストをクリックしても動くようなコードにするためにはどのようにすれば良いでしょうか。
お心優しい方ご教授いただければと思います

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/03/22 06:10
2023/03/22 06:15
2023/03/22 06:22