質問編集履歴
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -109,3 +109,111 @@
|
|
109
109
|
|
110
110
|
|
111
111
|
```
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
【追記】
|
116
|
+
|
117
|
+
イベントについて確認する為にいくつかconsole.log()をしてみました。
|
118
|
+
|
119
|
+
```JS
|
120
|
+
|
121
|
+
$(function () {
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
/*
|
126
|
+
|
127
|
+
* Tabs
|
128
|
+
|
129
|
+
*/
|
130
|
+
|
131
|
+
$('#work').each(function () {
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
// タブの各要素を jQuery オブジェクト化
|
136
|
+
|
137
|
+
var $tabList = $(this).find('.tabs-nav'), // タブのリスト
|
138
|
+
|
139
|
+
$tabAnchors = $tabList.find('a'), // タブ (リンク)
|
140
|
+
|
141
|
+
$tabPanels = $(this).find('.tabs-panel'); // パネル
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
// タブがクリックされたときの処理
|
146
|
+
|
147
|
+
// 引数としてイベントオブジェクトを受け取る
|
148
|
+
|
149
|
+
$tabList.on('click', 'a', function (event) {
|
150
|
+
|
151
|
+
console.log(event);
|
152
|
+
|
153
|
+
console.log(1);
|
154
|
+
|
155
|
+
// リンクのクリックに対するデフォルトの動作をキャンセル
|
156
|
+
|
157
|
+
event.preventDefault();
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
// クリックされたタブ(a要素)を jQuery オブジェクト化
|
162
|
+
|
163
|
+
var $this = $(this);
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
// もしすでに選択されたタブならなにもせず処理を中止
|
168
|
+
|
169
|
+
if ($this.hasClass('active')) {
|
170
|
+
|
171
|
+
return;
|
172
|
+
|
173
|
+
}
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
// すべてのタブの選択状態をいったん解除し、
|
178
|
+
|
179
|
+
// クリックされたタブを選択状態に
|
180
|
+
|
181
|
+
$tabAnchors.removeClass('active');
|
182
|
+
|
183
|
+
$this.addClass('active');
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
// すべてのパネルをいったん非表示にし、
|
188
|
+
|
189
|
+
// クリックされたタブに対応するパネルを表示
|
190
|
+
|
191
|
+
$tabPanels.hide();
|
192
|
+
|
193
|
+
$($this.attr('href')).show();
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
});
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
// 最初のタブを選択状態に
|
202
|
+
|
203
|
+
$tabAnchors.eq(0).trigger('click');
|
204
|
+
|
205
|
+
console.log(4);
|
206
|
+
|
207
|
+
});
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
});
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
```
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
このページを読み込んだ段階でconsole.log(4);が表示されるのは納得出来ますが、ページを読み込んだ段階ではクリックしていないはずなのになぜ、console.log(1);,console.log(event);が表示されるのですか。
|
1
変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -5,6 +5,12 @@
|
|
5
5
|
の意味は
|
6
6
|
|
7
7
|
$tabListの「a要素」が押された時に、それをオブジェクトとしてeventという名前で受け取るということですか。
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
とういうことであれば、var $this = $(this);は
|
12
|
+
|
13
|
+
a要素が入っているということで合っていますか。
|
8
14
|
|
9
15
|
|
10
16
|
|