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

回答編集履歴

6

説明に誤りがあった為、例2を削除

2021/11/24 03:16

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -5,10 +5,10 @@
5
5
  // 例1)アロー関数を指定した場合
6
6
  $elm[i].addEventListener('click', (e) => this.eventHndler(e));
7
7
 
8
- // 例2)無名関数を指定した場合
8
+ // // 例2)無名関数を指定した場合
9
- $elm[i].addEventListener('click', function(e){
9
+ // $elm[i].addEventListener('click', function(e){
10
- this.eventHndler(e);
10
+ // this.eventHndler(e);
11
- });
11
+ // });
12
12
 
13
13
  // 例3)関数名を指定した場合
14
14
  $elm[i].addEventListener('click', this.eventHndler);

5

例に番号を追加

2021/11/24 03:16

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -2,15 +2,15 @@
2
2
  以下はアロー関数を使用した場合とそれ以外の書き方の例になります。
3
3
 
4
4
  ```javascript
5
- // アロー関数を指定した場合
5
+ // 例1)アロー関数を指定した場合
6
6
  $elm[i].addEventListener('click', (e) => this.eventHndler(e));
7
7
 
8
- // 無名関数を指定した場合
8
+ // 例2)無名関数を指定した場合
9
9
  $elm[i].addEventListener('click', function(e){
10
10
  this.eventHndler(e);
11
11
  });
12
12
 
13
- // 関数名を指定した場合
13
+ // 例3)関数名を指定した場合
14
14
  $elm[i].addEventListener('click', this.eventHndler);
15
15
  ```
16
16
 

4

説明の図を追加しました

2021/11/23 17:05

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -21,4 +21,9 @@
21
21
 
22
22
  説明はこちらの回答を参照下さい。
23
23
 
24
- [https://teratail.com/questions/363325#reply-494419](https://teratail.com/questions/363325#reply-494419)
24
+ [https://teratail.com/questions/363325#reply-494419](https://teratail.com/questions/363325#reply-494419)
25
+
26
+
27
+ <追記>
28
+ `this.eventHndler(e)` は `Accordion` クラスのメンバ関数である `eventHndler` 関数の呼び出しになります。引数に `e` を渡すことでイベント情報を引き継いでいます。
29
+ ![イメージ説明](6391ba1b51ea2a3af92173f73a9fcbff.png)

3

誤字修正

2021/11/23 17:00

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -1,4 +1,4 @@
1
- 引数の `e` は `event` の略\で `click` イベントが発生した際に渡されるイベント情報になります。
1
+ 引数の `e` は `event` の略で `click` イベントが発生した際に渡されるイベント情報になります。
2
2
  以下はアロー関数を使用した場合とそれ以外の書き方の例になります。
3
3
 
4
4
  ```javascript

2

説明を追加

2021/11/23 16:23

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -1,14 +1,24 @@
1
+ 引数の `e` は `event` の略\で `click` イベントが発生した際に渡されるイベント情報になります。
2
+ 以下はアロー関数を使用した場合とそれ以外の書き方の例になります。
3
+
1
4
  ```javascript
2
- // アロー関数を使っ書き方
5
+ // アロー関数を指定し場合
3
6
  $elm[i].addEventListener('click', (e) => this.eventHndler(e));
4
7
 
5
- // アロー関数を使わない書き方
8
+ // 無名関数を指定した場合
6
- $elm[i].addEventListener('click', function(event){
9
+ $elm[i].addEventListener('click', function(e){
7
- this.eventHndler(event);
10
+ this.eventHndler(e);
8
11
  });
9
12
 
13
+ // 関数名を指定した場合
14
+ $elm[i].addEventListener('click', this.eventHndler);
10
15
  ```
11
16
 
17
+ なお、以下のような書き方は出来ません。
18
+ ```javascript
19
+ $elm[i].addEventListener('click', this.eventHndler(e));
20
+ ```
21
+
12
22
  説明はこちらの回答を参照下さい。
13
23
 
14
24
  [https://teratail.com/questions/363325#reply-494419](https://teratail.com/questions/363325#reply-494419)

1

アロー関数を使わない書き方を追記

2021/11/23 16:23

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -1,3 +1,14 @@
1
- こちらの回答が参考になりませんか?
1
+ ```javascript
2
+ // アロー関数を使った書き方
3
+ $elm[i].addEventListener('click', (e) => this.eventHndler(e));
2
4
 
5
+ // アロー関数を使わない書き方
6
+ $elm[i].addEventListener('click', function(event){
7
+ this.eventHndler(event);
8
+ });
9
+
10
+ ```
11
+
12
+ 説明はこちらの回答を参照下さい。
13
+
3
14
  [https://teratail.com/questions/363325#reply-494419](https://teratail.com/questions/363325#reply-494419)