teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

clickと$(document).onの違いを言及されているなので、前者のコードをonではなくclickメソッドに修正

2019/08/09 04:41

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  <head>
6
6
  <script>
7
7
  $(document).ready(function () {
8
- $(".click_button").on("click",function(){
8
+ $(".click_button").click(function(){
9
9
  console.log("clickされたよ!");
10
10
  });
11
11
 

1

文章を修正

2019/08/09 04:41

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -1,4 +1,5 @@
1
+ このような記述があったと仮定します。
1
- のような記述があったと仮定して、クリックイベントは動き…**ません**。
2
+ れで`body`に追加された要素にクリックイベントは登録され…**ません**。
2
3
  ```html
3
4
  <html>
4
5
  <head>
@@ -21,7 +22,7 @@
21
22
 
22
23
  `.click_button`を持つDOM要素に対してクリックイベントを登録した後で`.click_button`を持つDOM要素を追加したからです。
23
24
 
24
- 後から追加したDOM要素に対しても自動的にクリックイベントを登録したい場合はdocumentに対してonイベントを呼びます。
25
+ 後から追加したDOM要素に対しても自動的にクリックイベントを登録したい場合はそのセレクタからではなく、documentのjQueryオブジェクトからonイベントを呼びます。
25
26
  ```
26
27
  $(document).ready(function () {
27
28
  $(document).on("click", ".click_button", function(){