質問: HTMLで「hide_button」というクラスがついているボタンに対して、 特定の要素(「hide」というクラスの要素)を隠し、同時にクラスを 切り替えて、再度ボタンクリックで要素を表示させる、ということを したいのですが、クラス切替後にボタンをクリックしてもイベントが 置きません。 JSのコードは下記のとおりで、クラス切り替え後にボタンをクリックしても 何も起きないので、ためしにalertを出そうとしても出ない状態です。 ``` ``` 誤植等はないと思うので、何がおかしいのか教えていただきたいです。 よろしくお願いします。 【追記】 ボタンのHTMLを追記しました。 このボタンのクラスを切り替えて、クラスによって別のイベントを起こそうとしています。
回答: 普通にclick()でイベントリスナーが登録される要素は click()が実行された時にそのセレクタに引っかかったもの click()が実行されるより後にそのセレクタに引っかかるようになったものは対象外 それをやりたい場合は例えば ``` $('form').on('click','.show_button',function(){ alert('test'); }); ``` みたいな感じに これでform要素の子孫要素がクリックされた時 クリックされた要素が.show_buttonに引っかかるものだった時に イベントリスナー実行というようになる